Switch deploy to webhook-based approach
exe.dev SSH proxy blocks direct SSH from GitHub Actions. Use webhook listener on port 9000 instead. Co-authored-by: Shelley <shelley@exe.dev>
This commit is contained in:
parent
133a0ce50f
commit
a6e763c153
1 changed files with 18 additions and 7 deletions
25
.github/workflows/deploy.yml
vendored
25
.github/workflows/deploy.yml
vendored
|
|
@ -8,10 +8,21 @@ jobs:
|
||||||
deploy:
|
deploy:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Deploy via SSH
|
- name: Trigger deploy webhook
|
||||||
uses: appleboy/ssh-action@v1
|
env:
|
||||||
with:
|
WEBHOOK_SECRET: ${{ secrets.WEBHOOK_SECRET }}
|
||||||
host: love-tin.exe.xyz
|
run: |
|
||||||
username: exedev
|
# Build the payload
|
||||||
key: ${{ secrets.DEPLOY_SSH_KEY }}
|
PAYLOAD='{"ref":"refs/heads/master","pusher":{"name":"github-actions"}}'
|
||||||
script: /home/exedev/deploy.sh
|
|
||||||
|
# Compute HMAC signature
|
||||||
|
SIGNATURE="sha256=$(echo -n "$PAYLOAD" | openssl dgst -sha256 -hmac "$WEBHOOK_SECRET" | awk '{print $2}')"
|
||||||
|
|
||||||
|
# Send webhook
|
||||||
|
curl -sf -X POST \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
-H "X-Hub-Signature-256: $SIGNATURE" \
|
||||||
|
-d "$PAYLOAD" \
|
||||||
|
https://love-tin.exe.xyz:9000/deploy
|
||||||
|
|
||||||
|
echo "Deploy triggered successfully"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue