Я пытаюсь создать рабочий процесс CI / CD для небольшого проекта, частью которого я являюсь.
Он состоит из приложения реакции, которое докеризовано (nginx) и работает на сервере. Но этот подход не самый лучший, поэтому я хотел бы изменить поток, добавив конвейеры Bitbucket ( мы используем Bitbucket в качестве git repo ), которые развернут приложение в AWS Elastic Beanstalk.
Я знаю, как этого добиться, используя Git Hub и Travis CI, но Travis не может быть подключен к Bitbucket ...: (
Я могу сделать это с помощью Трэвиса, но конвейеры разные. Они предлагают заархивировать все файлы и загрузить их в 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 ?