diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 27d85c0..6ce73e1 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -18,6 +18,8 @@ jobs: - name: Deploy via SCP run: | + set -e + SERVER_HOST="${{ secrets.SSH_HOST }}" SERVER_USER="${{ secrets.SSH_USER }}" SERVER_PORT="${{ secrets.SSH_PORT }}" @@ -33,26 +35,17 @@ jobs: # 配置 SSH 密钥 mkdir -p ~/.ssh chmod 700 ~/.ssh - echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 + printf '%s\n' "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 - # 扫描主机指纹 - ssh-keyscan -p "${SERVER_PORT}" -H "${SERVER_HOST}" >> ~/.ssh/known_hosts 2>/dev/null + SSH_OPTS="-o StrictHostKeyChecking=accept-new -i ~/.ssh/id_ed25519 -p ${SERVER_PORT}" - # 确保目标目录存在 - ssh -i ~/.ssh/id_ed25519 -p "${SERVER_PORT}" \ - "${SERVER_USER}@${SERVER_HOST}" \ - "mkdir -p ${TARGET_DIR}" + echo "📁 确保目标目录存在..." + ssh ${SSH_OPTS} "${SERVER_USER}@${SERVER_HOST}" "mkdir -p ${TARGET_DIR}" - # SCP 上传(排除 .git .gitea .github) echo "🚀 开始上传文件..." - scp -i ~/.ssh/id_ed25519 -P "${SERVER_PORT}" -r \ + scp -o StrictHostKeyChecking=accept-new -i ~/.ssh/id_ed25519 -P "${SERVER_PORT}" -r \ ./* \ "${SERVER_USER}@${SERVER_HOST}:${TARGET_DIR}/" - if [ $? -eq 0 ]; then - echo "✨ 部署成功!" - else - echo "❌ 部署失败" - exit 1 - fi + echo "✨ 部署成功!"