Skip to content

Deploy Application

Deploy Application #6

Workflow file for this run

name: Deploy Application
on:
# workflow_dispatch:
workflow_run:
workflows: ["Build"]
types:
- completed
jobs:
deploy:
runs-on: ubuntu-latest
# Ensure the deploy job runs only if the build workflow succeeded
if: ${{ github.event.workflow_run.conclusion == 'success' }}
environment: production
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up SSH
uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Add Known Hosts
run: ssh-keyscan -H ${{ secrets.REMOTE_IP }} >> ~/.ssh/known_hosts
- name: Deploy with Docker Compose
run: |
ssh -o StrictHostKeyChecking=no ${{ secrets.REMOTE_SERVER }} "cd /home/app && docker-compose down && docker rmi -f $(docker images -aq) && docker-compose up -d"
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}