name: Deploy yourpart (blue-green) on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest env: HOST: ${{ vars.PROD_HOST }} PORT: ${{ vars.PROD_PORT }} USER: ${{ vars.PROD_USER }} steps: - name: Prepare SSH run: | mkdir -p ~/.ssh printf "%s" "${{ secrets.PROD_SSH_KEY }}" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 ssh-keyscan -p "$PORT" "$HOST" >> ~/.ssh/known_hosts - name: Test SSH connection run: | ssh -i ~/.ssh/id_ed25519 \ -o StrictHostKeyChecking=no \ -o BatchMode=yes \ -o ConnectTimeout=10 \ -p "$PORT" \ "$USER@$HOST" \ "echo SSH OK" - name: Run blue-green deployment run: | ssh -i ~/.ssh/id_ed25519 \ -o StrictHostKeyChecking=no \ -o BatchMode=yes \ -o ConnectTimeout=10 \ -p "$PORT" \ "$USER@$HOST" \ "/home/tsschulz/deploy-yourpart-bluegreen.sh"