name: Formeleon Deployment Pipeline on: push: branches: - main - stable jobs: # --------------------------------------------------- # 1. DEPLOYMENT TO DEVELOPMENT (branch: main) # --------------------------------------------------- deploy-dev: name: Deploy to Dev Environment if: github.ref == 'refs/heads/main' runs-on: ubuntu-latest steps: - name: Deploy via SSH to Dev uses: appleboy/ssh-action@v1 with: # Flexibel über "Settings -> Actions -> Variables" editierbar: host: ${{ vars.DEV_HOST }} username: ${{ vars.DEV_DEPLOY_USER }} # Passwörter/Keys weiterhin über "Secrets": key: ${{ secrets.DEV_SSH_KEY }} port: 22 script: | cd /opt/formeleon-dev git pull origin main docker compose down docker compose up -d --build # --------------------------------------------------- # 2. DEPLOYMENT TO PRODUCTION (branch: stable) # --------------------------------------------------- deploy-prod: name: Deploy to Production Environment if: github.ref == 'refs/heads/stable' runs-on: ubuntu-latest steps: - name: Deploy via SSH to Prod uses: appleboy/ssh-action@v1 with: host: ${{ vars.PROD_HOST }} username: ${{ vars.PROD_DEPLOY_USER }} key: ${{ secrets.PROD_SSH_KEY }} port: 22 script: | cd /opt/formeleon-prod git pull origin stable docker compose down docker compose up -d --build