diff --git a/.gitea/workflows/research_build_manual.yaml b/.gitea/workflows/research_build_manual.yaml index 5e04c709..e41c21c8 100644 --- a/.gitea/workflows/research_build_manual.yaml +++ b/.gitea/workflows/research_build_manual.yaml @@ -14,7 +14,7 @@ jobs: packages: write env: - REMOTE_DEPLOY_PATH: /mnt/process/A6000_Server/AiDA_Workspace/Java_Server_workspace/dev + REMOTE_DEPLOY_PATH: /mnt/process/A6000_Server/AiDA_Workspace/Java_Server_workspace/Dev/ steps: - name: 0.记录开始时间 @@ -107,30 +107,29 @@ jobs: echo "docker-compose.yml内容:" cat docker-compose.yml - - name: 7.准备宿主机同步环境 + - name: 7.安装SSH工具 run: | - echo ${{ env.REMOTE_DEPLOY_PATH }} - echo "===== 准备本地同步 =====" - # 确保容器内的目标路径存在(该路径应在启动 Runner 容器时已挂载到宿主机) - mkdir -p ${{ env.REMOTE_DEPLOY_PATH }} + $SUDO apt install -y sshpass openssh-client --no-install-recommends + # 配置SSH免密 + mkdir -p ~/.ssh + echo "${{ secrets.SSH_KEY }}" > ~/.ssh/id_rsa + chmod 600 ~/.ssh/id_rsa + ssh-keyscan -H ${{ secrets.SEARCH_SERVER_HOST }} >> ~/.ssh/known_hosts - - name: 8.同步文件到宿主机目录 + - name: 8.同步文件到远程服务器 run: | - echo "===== 复制文件到宿主机挂载目录 =====" - # 因为 Runner 运行在 Docker 中,直接 cp 到挂载路径即等同于同步到宿主机 - cp ./target/*.jar ${{ env.REMOTE_DEPLOY_PATH }}/ - cp ./Dockerfile ${{ env.REMOTE_DEPLOY_PATH }}/ - cp ./docker-compose.yml ${{ env.REMOTE_DEPLOY_PATH }}/ - - echo "文件同步完成,当前路径内容:" - ls -lh ${{ env.REMOTE_DEPLOY_PATH }} + echo "===== 同步文件到远程服务器 =====" + # 使用scp同步文件 + scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \ + ./target/*.jar ./Dockerfile ./docker-compose.yml \ + ${{ secrets.SEARCH_SERVER_USER }}@${{ secrets.SEARCH_SERVER_HOST }}:${{ env.SEARCH_REMOTE_DEPLOY_PATH }} 2>&1 - name: 9.部署和运行服务 run: | echo "===== 开始部署服务 =====" # SSH执行部署命令 ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \ - ${{ secrets.SERVER_USER }}@${{ secrets.SERVER_HOST }} << 'EOF_SSH' + ${{ secrets.SEARCH_SERVER_USER }}@${{ secrets.SEARCH_SERVER_HOST }} << 'EOF_SSH' cd ${{ env.REMOTE_DEPLOY_PATH }} echo "停止旧容器..." docker compose down || true