This commit is contained in:
caoyuchun 2026-01-16 14:40:38 +08:00
parent a589653371
commit 31b32bf47a

27
Jenkinsfile vendored
View File

@ -115,27 +115,40 @@ pipeline {
# 在远程服务器上执行部署deploy-docker.sh 已包含重启服务逻辑) # 在远程服务器上执行部署deploy-docker.sh 已包含重启服务逻辑)
ssh -o StrictHostKeyChecking=no ${DEPLOY_USER}@${DEPLOY_HOST} << 'ENDSSH' ssh -o StrictHostKeyChecking=no ${DEPLOY_USER}@${DEPLOY_HOST} << 'ENDSSH'
set -e # 移除 set -e,改为手动检查关键命令
mkdir -p /opt/nginx/html/ai mkdir -p /opt/nginx/html/ai
cd /tmp && tar -xzf deploy-package.tar.gz cd /tmp && tar -xzf deploy-package.tar.gz
# 备份旧版本 # 备份旧版本
[ -d /opt/nginx/html/ai/current ] && \ if [ -d /opt/nginx/html/ai/current ]; then
mv /opt/nginx/html/ai/current /opt/nginx/html/ai/backup-$(date +%Y%m%d-%H%M%S) mv /opt/nginx/html/ai/current /opt/nginx/html/ai/backup-$(date +%Y%m%d-%H%M%S)
fi
# 创建新版本目录并复制文件 # 创建新版本目录并复制文件
mkdir -p /opt/nginx/html/ai/current/{backend,docker/logs} mkdir -p /opt/nginx/html/ai/current/{backend,docker/logs}
cp -r deploy-package/frontend-dist/* /opt/nginx/html/ai/current/ cp -r deploy-package/frontend-dist/* /opt/nginx/html/ai/current/
cp -r deploy-package/backend/* /opt/nginx/html/ai/current/backend/ cp -r deploy-package/backend/* /opt/nginx/html/ai/current/backend/
[ -d deploy-package/shared ] && cp -r deploy-package/shared /opt/nginx/html/ai/current/ if [ -d deploy-package/shared ]; then
cp -r deploy-package/shared /opt/nginx/html/ai/current/
fi
# 复制 Docker 配置文件,确保文件名为 docker-compose.ymlpodman-compose 需要) # 复制 Docker 配置文件,确保文件名为 docker-compose.ymlpodman-compose 需要)
cp deploy-package/docker/docker-compose.production.yml /opt/nginx/html/ai/current/docker/docker-compose.yml 2>/dev/null || \ if [ -f deploy-package/docker/docker-compose.production.yml ]; then
cp deploy-package/docker/* /opt/nginx/html/ai/current/docker/ cp deploy-package/docker/docker-compose.production.yml /opt/nginx/html/ai/current/docker/docker-compose.yml
cp deploy-package/docker/nginx.conf.docker /opt/nginx/html/ai/current/docker/ 2>/dev/null || true else
cp deploy-package/docker/* /opt/nginx/html/ai/current/docker/
fi
if [ -f deploy-package/docker/nginx.conf.docker ]; then
cp deploy-package/docker/nginx.conf.docker /opt/nginx/html/ai/current/docker/
fi
# 执行部署脚本(包含停止、构建、启动和健康检查) # 执行部署脚本(包含停止、构建、启动和健康检查)
chmod +x deploy-package/deploy-docker.sh chmod +x deploy-package/deploy-docker.sh
bash deploy-package/deploy-docker.sh /opt/nginx/html/ai/current if bash deploy-package/deploy-docker.sh /opt/nginx/html/ai/current; then
echo "部署脚本执行成功"
else
echo "部署脚本执行失败"
exit 1
fi
# 清理临时文件 # 清理临时文件
rm -rf /tmp/deploy-package /tmp/deploy-package.tar.gz rm -rf /tmp/deploy-package /tmp/deploy-package.tar.gz