Skip to content

deploy: production server deployment only by manual run #6

deploy: production server deployment only by manual run

deploy: production server deployment only by manual run #6

name: Deploy to staging server
concurrency:
group: staging
cancel-in-progress: false
on:
push:
branches:
- main
workflow_dispatch:
jobs:
deploy:
name: Deploy to staging server
runs-on: self-hosted
environment:
name: staging
url: https://pre.innohassle.ru
steps:
- name: Deploy via SSH
uses: appleboy/[email protected]
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USERNAME }}
key: ${{ secrets.SSH_KEY }}
fingerprint: ${{ secrets.SSH_FINGERPRINT }}
script_stop: true # Stop script on error
script: |
cd ${{ secrets.REPOSITORY_ROOT }}
git reset --hard
git checkout ${{ github.ref_name }}
git pull
docker compose build
docker compose pull
docker compose up -d