我正在尝试为我参与的一个小项目创建CI / CD工作流。 它由react应用组成,该应用经过dockerized(nginx)并在服务器上运行。但是这种方法不是最好的,因此我想修改添加Bitbucket Pipelines(我们将Bitbucket用作git repo )的流程,该流程会将应用程序部署到AWS Elastic Beanstalk。 我知道如何使用Git Hub和Travis CI实现此目的,但是Travis无法连接到Bitbucket ...:(
我可以使用Travis做到这一点,但管道却有所不同。他们建议压缩所有文件并将其上传到Elastic Beanstalk,但是必须创建 Dockerrun.aws.json ,这是我做不到的。
我的Dockerfile
# Create proxy container for www.myweb.com
#STAGE 1 -- Build Web
FROM node:12.2.0-alpine as node
RUN mkdir /web
WORKDIR /web
#Copy dependency definition
COPY packages/app/package.json /web
RUN yarn install
#Copy all files
COPY . /web
WORKDIR /web/packages/app
RUN yarn && yarn build
#STAGE 2 -- Build nginx server
FROM nginx:1.15.2-alpine
# Set timezone
RUN echo "Europe/Berlin" > /etc/timezone
# Add www certificates
COPY docker/ssl /etc/ssl/certs/
# Add virtual hosts
COPY docker/default.conf /etc/nginx/conf.d/
#Open port 80 for incomming traffic
EXPOSE 80
# Add static content
COPY --from=node /web/packages/app/dist /usr/share/nginx/html
我是否必须压缩所有文件并将其上传到Elastic Beanstalk? 如果是这样, Dockerrun.aws.json 应该是什么样?