fix(cicd): 部署 SSH 用 IP 直连 + sudo docker

实测 Jenkins 容器内无 cd-target ssh 别名,cd-target docker 需 sudo。
- DEPLOY_HOST: cd-target → ubuntu@110.42.240.10
- 远程命令: docker → sudo docker
This commit is contained in:
xiangning 2026-07-17 11:36:09 +08:00
parent 5696168bc3
commit a7a0a82f19

9
Jenkinsfile vendored
View File

@ -8,7 +8,8 @@ pipeline {
HARBOR = "43.134.235.58:58080"
IMAGE = "${HARBOR}/buildflow/buildflow-web"
TAG = "${env.BUILD_NUMBER}"
DEPLOY_HOST = "cd-target"
// Jenkins 容器内无 ssh 别名,直接用 IP;ubuntu 用户 sudo 免密(NOPASSWD)
DEPLOY_HOST = "ubuntu@110.42.240.10"
APP_PORT = "80" // 容器内 nginx 监听 80;宿主映射 5175:80
HOST_PORT = "5175"
}
@ -47,9 +48,9 @@ pipeline {
try {
sh """
ssh -o StrictHostKeyChecking=accept-new ${DEPLOY_HOST} '
docker pull ${IMAGE}:latest
docker rm -f buildflow-web 2>/dev/null || true
docker run -d --name buildflow-web --restart unless-stopped -p ${HOST_PORT}:${APP_PORT} ${IMAGE}:latest
sudo docker pull ${IMAGE}:latest
sudo docker rm -f buildflow-web 2>/dev/null || true
sudo docker run -d --name buildflow-web --restart unless-stopped -p ${HOST_PORT}:${APP_PORT} ${IMAGE}:latest
'
"""
echo "部署完成"