Skip to content

ci: add deploy workflow #2

ci: add deploy workflow

ci: add deploy workflow #2

Workflow file for this run

name: Deploy
on:
push:
branches:
- master
- add-deploy-workflow # FIXME: remove this line
workflow_dispatch: # This will make the workflow dispatched only manually
jobs:
build-and-push:
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install Compose
uses: ndeloof/[email protected]
with:
version: v2.20.2
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build docker images
run: docker compose build
- name: Push docker images
run: docker compose push
deploy:
needs: build-and-push
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Install Compose
uses: ndeloof/[email protected]
with:
version: v2.20.2
- name: Deploy to the VM
uses: appleboy/ssh-action@master
with:
host: ${{ vars.VM_HOST }}
username: ${{ vars.VM_USERNAME }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
script: |
echo ${{ secrets.DOCKERHUB_TOKEN }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
docker compose pull
docker compose up -d