Добрый день! Пытаюсь сделать ci/cd для github. Гуглил статьи, толковых очень мало, а некоторые уже устаревшие и не работают. Застопорился в deploy на VPS.
Как сейчас реализовано:
1) Написан .github/workflows/push.yaml
# Создаем тригер когда кто-то пушит код в репозиторий
on: push
name: npm build, lint, test and publish
# Создаем задачи для сборки проекта и запуска на ubuntu-latest.
# Каждая задача будет запущенна в новой копии приложения на виртуальном сервереt..
jobs:
build-and-publish:
name: build and publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-node@v1
with:
node-version: '10.x'
- run: npm install
- run: npm test
# Создаем Docker образ
- name: Publish to Docker Repository
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: vaflya/project
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
run: docker build -t back .
2) github устанавливает зависимости и прогоняет тесты
3) создает docker контейнер
Dockerfile
FROM node
WORKDIR /
COPY . .
RUN npm install
EXPOSE 3000
ENTRYPOINT ["npm", "start"]
4) Пушит в docker hub
и тут затык. Как мне со стороны VPS узнать что создан новый контейнер и развернуть его на VPS?
И нужно ли в моем случае использовать докер? Учитывая что я использую только docker-compose