diff --git a/.gitea/workflows/backend-deploy.yml b/.gitea/workflows/backend-deploy.yml index ca53160..6e63344 100644 --- a/.gitea/workflows/backend-deploy.yml +++ b/.gitea/workflows/backend-deploy.yml @@ -32,6 +32,7 @@ jobs: cp server/server_bin deploy/ cp server/Dockerfile deploy/ cp server/docker-compose.yml deploy/ + cp server/.env.example deploy/ - name: 部署文件到服务器 uses: up9cloud/action-rsync@master @@ -39,7 +40,7 @@ jobs: USER: root HOST: 144.24.60.0 KEY: ${{secrets.USAARMLOGIN_SSH_KEY}} - ARGS: -avz --delete + ARGS: -avz --delete --exclude '.env' SSH_ARGS: "-p 22 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ServerAliveInterval=60 -o ServerAliveCountMax=3" SOURCE: ./deploy/ TARGET: /var/admin/InsightReply/server/ @@ -53,13 +54,19 @@ jobs: key: ${{secrets.USAARMLOGIN_SSH_KEY}} script: | cd /var/admin/InsightReply/server + # 首次部署时,从模板创建 .env + if [ ! -f .env ]; then + echo "⚠️ .env not found, creating from .env.example" + cp .env.example .env + echo "📝 请在服务器上编辑 /var/admin/InsightReply/server/.env 填入真实密钥" + fi sync - sleep 5 + sleep 3 # 检查是否有正在移除的容器,等待其完成 - for i in {1..10}; do - if docker ps -a | grep -q "Removal In Progress"; then - echo "Waiting for container removal..." - sleep 2 + for i in $(seq 1 10); do + if docker ps -a 2>/dev/null | grep -q 'Removal'; then + echo "Waiting for container removal... ($i/10)" + sleep 3 else break fi