ci(deploy): use appleboy/ssh-action for reliable SSH key handling

echo + manual ssh key writing got 'error in libcrypto' (key mangling)
+ 'too many authentication failures'. Switch to appleboy/ssh-action@v1.1.0
which handles key/permission/identity correctly. Also set
SSH_DEPLOY_HOST=45.127.35.244 (public IP, not Tailscale 100.x).
This commit is contained in:
asepharyana
2026-08-20 12:14:59 +07:00
parent 394f207446
commit 339f8432a6
+16 -19
View File
@@ -34,22 +34,19 @@ jobs:
run: bun --cwd apps/web run build run: bun --cwd apps/web run build
- name: Deploy to VPS over SSH - name: Deploy to VPS over SSH
env: uses: appleboy/ssh-action@v1.1.0
SSH_DEPLOY_HOST: ${{ secrets.SSH_DEPLOY_HOST }} with:
SSH_DEPLOY_PORT: ${{ secrets.SSH_DEPLOY_PORT }} host: ${{ secrets.SSH_DEPLOY_HOST }}
SSH_DEPLOY_USER: ${{ secrets.SSH_DEPLOY_USER }} port: ${{ secrets.SSH_DEPLOY_PORT }}
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }} username: ${{ secrets.SSH_DEPLOY_USER }}
run: | key: ${{ secrets.SSH_DEPLOY_KEY }}
mkdir -p ~/.ssh envs: SSH_DEPLOY_HOST
echo "$SSH_DEPLOY_KEY" > ~/.ssh/deploy_key script: |
chmod 600 ~/.ssh/deploy_key set -e
ssh-keyscan -p "$SSH_DEPLOY_PORT" "$SSH_DEPLOY_HOST" >> ~/.ssh/known_hosts 2>/dev/null || true cd /home/code/mcpedia
ssh -o StrictHostKeyChecking=accept-new -i ~/.ssh/deploy_key -p "$SSH_DEPLOY_PORT" "$SSH_DEPLOY_USER@$SSH_DEPLOY_HOST" \ git pull origin main
'set -e /home/code/.bun/bin/bun install --frozen-lockfile
cd /home/code/mcpedia /home/code/.bun/bin/bun --cwd apps/web run build
git pull origin main sudo systemctl restart mcpedia-web mcpedia-api mcpedia-mcp mcpedia-worker
/home/code/.bun/bin/bun install --frozen-lockfile sleep 3
/home/code/.bun/bin/bun --cwd apps/web run build systemctl --no-pager status mcpedia-web mcpedia-api mcpedia-mcp mcpedia-worker --no-legend
sudo systemctl restart mcpedia-web mcpedia-api mcpedia-mcp mcpedia-worker
sleep 3
systemctl --no-pager status mcpedia-web mcpedia-api mcpedia-mcp mcpedia-worker --no-legend'