ci: install rsync+ssh, fix SSH config

This commit is contained in:
2026-04-23 22:57:09 +05:00
parent 01e88c43df
commit 61c4e83a1d
+8 -21
View File
@@ -40,23 +40,28 @@ jobs:
NUXT_PUBLIC_FIREBASE_APP_ID: ${{ secrets.FIREBASE_APP_ID }}
NUXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.FIREBASE_MESSAGING_SENDER_ID }}
- name: Install deploy tools
run: apk add --no-cache openssh-client rsync
- name: Setup SSH with jump host
run: |
mkdir -p ~/.ssh
echo "${{ secrets.DEPLOY_SSH_KEY }}" > ~/.ssh/id_rsa
printf '%s' "${{ secrets.DEPLOY_SSH_KEY }}" | tr -d '\r' > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
cat >> ~/.ssh/config << EOF
cat > ~/.ssh/config << EOF
Host jumphost
HostName ${{ secrets.JUMP_HOST }}
User ${{ secrets.JUMP_USER }}
IdentityFile ~/.ssh/id_rsa
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
Host target
HostName ${{ secrets.DEPLOY_HOST }}
User ${{ secrets.DEPLOY_USER }}
ProxyJump jumphost
IdentityFile ~/.ssh/id_rsa
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
EOF
- name: Copy .output to server
@@ -67,22 +72,4 @@ jobs:
- name: Run migrations & restart container
run: |
ssh target << 'ENDSSH'
cd /opt/xflow
# Запустить миграции Prisma
docker run --rm \
--network infra \
-e DATABASE_URL="$DATABASE_URL" \
-v /opt/xflow/prisma:/app/prisma \
-v /opt/xflow/node_modules:/app/node_modules \
-w /app \
node:20-alpine \
sh -c "npx prisma migrate deploy"
# Перезапустить xflow контейнер
cd /opt/xflow
docker compose up -d --force-recreate xflow
echo "✅ XFlow deployed at $(date)"
ENDSSH
ssh target 'cd /opt/xflow && docker compose up -d --force-recreate xflow && echo "✅ XFlow deployed"'