fix: create schema before postgres import
Some checks failed
Deploy to Production / Build and Test (push) Successful in 10m8s
Deploy to Production / Deploy to Server (push) Failing after 6m17s

This commit is contained in:
你的用户名
2025-11-06 23:16:58 +08:00
parent ce5cb92cb6
commit 812313c37f
2 changed files with 212 additions and 51 deletions

View File

@@ -190,56 +190,52 @@ jobs:
- name: Health Check
if: success()
run: |
echo "🔍 执行健康检查..."
uses: appleboy/ssh-action@v1.0.0
with:
host: ${{ secrets.SERVER_HOST || '172.16.74.149' }}
username: ${{ secrets.SERVER_USER || 'atai' }}
password: ${{ secrets.SERVER_PASSWORD || 'wengewudi666808' }}
port: ${{ secrets.SERVER_PORT || '22' }}
command_timeout: 10m
script: |
set -e
echo "🔍 执行健康检查..."
sleep 20
# 等待服务完全启动(延长等待时间)
sleep 20
# 健康检查(增加重试次数和诊断信息)
for i in {1..10}; do
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "尝试 $i/10: 检查服务 ${{ env.HEALTH_CHECK_URL }}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
# 详细的curl诊断
HTTP_CODE=$(curl -v -s -o /dev/null -w "%{http_code}" --connect-timeout 5 --max-time 10 ${{ env.HEALTH_CHECK_URL }} 2>&1)
echo "响应: $HTTP_CODE"
if echo "$HTTP_CODE" | grep -q "200\|301\|302"; then
echo "✅ 服务健康检查通过HTTP状态码正常"
for i in {1..10}; do
echo ""
echo "🎉 部署成功!服务已正常运行"
exit 0
fi
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "尝试 ${i}/10: 检查服务 ${{ env.HEALTH_CHECK_URL }}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
# 如果失败,显示更多诊断信息
if [ $i -eq 5 ]; then
echo ""
echo "⚠️ 第5次尝试失败执行深度诊断..."
echo ""
echo "🔍 检查容器运行状态:"
ssh -o StrictHostKeyChecking=no ${{ secrets.SERVER_USER || 'atai' }}@${{ secrets.SERVER_HOST || '172.16.74.149' }} "cd /home/atai/kt-financial-system && sudo docker-compose ps" || true
echo ""
echo "📝 最新容器日志:"
ssh -o StrictHostKeyChecking=no ${{ secrets.SERVER_USER || 'atai' }}@${{ secrets.SERVER_HOST || '172.16.74.149' }} "cd /home/atai/kt-financial-system && sudo docker-compose logs --tail=50" || true
fi
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" --connect-timeout 5 --max-time 10 ${{ env.HEALTH_CHECK_URL }} || true)
echo "响应: ${HTTP_CODE}"
if printf "%s" "$HTTP_CODE" | grep -qE "200|301|302"; then
echo "✅ 服务健康检查通过HTTP状态码正常"
echo ""
echo "🎉 部署成功!服务已正常运行"
exit 0
fi
if [ "$i" -eq 5 ]; then
echo ""
echo "⚠️ 第5次尝试失败执行深度诊断..."
echo ""
echo "🔍 检查容器运行状态:"
cd /home/atai/kt-financial-system
sudo docker-compose ps || true
echo ""
echo "📝 最新容器日志:"
sudo docker-compose logs --tail=50 || true
fi
if [ $i -lt 10 ]; then
echo "⏳ 等待6秒后重试..."
sleep 6
fi
done
done
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "❌ 健康检查失败10次尝试均未成功"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "🔍 最终诊断信息:"
ssh -o StrictHostKeyChecking=no ${{ secrets.SERVER_USER || 'atai' }}@${{ secrets.SERVER_HOST || '172.16.74.149' }} "cd /home/atai/kt-financial-system && sudo docker-compose ps && echo '---' && sudo docker-compose logs --tail=100" || true
exit 1
echo ""
echo "❌ 服务健康检查失败:无法在多次重试后获得 200/301/302 响应"
exit 1
- name: Send notification on success
if: success()