Skip to content

CI: Deploy Docker Images on remote VM #48

CI: Deploy Docker Images on remote VM

CI: Deploy Docker Images on remote VM #48

Workflow file for this run

name: Deploy Docker Images
on:
pull_request:
branches:
- main
- development
- feature/deployment-vm # TODO: remove temporary branch for testing
workflow_run:
workflows:
- Build and Push Web Docker Image
- Build and Push CMS Docker Image
branches:
- development
types:
- completed
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: setup environment file
run: |
test -f .env || cp .env.example .env
- name: copy files to server
uses: appleboy/scp-action@v0.1.3
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_KEY }}
source: "./docker-compose.dev.yml,./.env"
target: "~/${{ github.event.repository.name }}/"
- name: pull & start container images
uses: appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_KEY }}
script_stop: true
script: |
cd ~/${{ github.event.repository.name }}/
echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{github.actor}} --password-stdin
docker compose -f docker-compose.dev.yml pull
TAG=feature-deployment-vm docker compose -f docker-compose.dev.yml pull cms
docker compose -f docker-compose.dev.yml down
docker compose -f docker-compose.dev.yml up -d --wait --no-build --force-recreate db
docker compose -f docker-compose.dev.yml up -d --wait --no-build --force-recreate web
TAG=feature-deployment-vm docker compose -f docker-compose.dev.yml up -d --wait --no-build --force-recreate cms
docker compose -f docker-compose.dev.yml logs -t -n 50