34 lines
1.0 KiB
YAML
34 lines
1.0 KiB
YAML
name: Deploy Production
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: deploy-prod
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
environment: production
|
|
steps:
|
|
- name: Deploy over SSH
|
|
uses: appleboy/ssh-action@v1.2.0
|
|
with:
|
|
host: ${{ secrets.PROD_DEPLOY_HOST }}
|
|
username: ${{ secrets.PROD_DEPLOY_USER }}
|
|
key: ${{ secrets.PROD_DEPLOY_SSH_KEY }}
|
|
port: ${{ secrets.PROD_DEPLOY_PORT || 22 }}
|
|
script: |
|
|
set -e
|
|
REPO_URL="git@github.com:${{ github.repository }}.git"
|
|
DEPLOY_DIR="${{ secrets.PROD_DEPLOY_PATH }}"
|
|
if [ ! -d "$DEPLOY_DIR/.git" ]; then
|
|
git clone "$REPO_URL" "$DEPLOY_DIR"
|
|
fi
|
|
cd "$DEPLOY_DIR"
|
|
git fetch --all --prune
|
|
git checkout main || git checkout -b main origin/main
|
|
git reset --hard origin/main
|
|
RUN_DJANGO_CHECK=1 ./scripts/deploy_stack.sh .env.prod docker-compose.prod.yml
|