From 598e2a3b2501410a7cb2951cfa8910061cdeace1 Mon Sep 17 00:00:00 2001 From: xiangning Date: Fri, 17 Jul 2026 11:46:33 +0800 Subject: [PATCH] =?UTF-8?q?fix(cicd):=20=E9=83=A8=E7=BD=B2=20stage=20?= =?UTF-8?q?=E5=8A=A0=E8=BF=9C=E7=A8=8B=20docker=20login=20Harbor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 与 portal 同款修复:Harbor 私有仓库 cd-target pull 需先登录。 withCredentials 拿 harbor-credentials,ssh 传到远程执行 docker login(stdin 传密码,不进 history)。 --- Jenkinsfile | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 8998588..4d70bba 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -46,13 +46,16 @@ pipeline { steps { script { try { - sh """ - ssh -o StrictHostKeyChecking=accept-new ${DEPLOY_HOST} ' - sudo docker pull ${IMAGE}:latest - sudo docker rm -f buildflow-api 2>/dev/null || true - sudo docker run -d --name buildflow-api --restart unless-stopped -p ${APP_PORT}:${APP_PORT} ${IMAGE}:latest - ' - """ + withCredentials([usernamePassword(credentialsId: "harbor-credentials", usernameVariable: "HUSER", passwordVariable: "HPASS")]) { + sh """ + ssh -o StrictHostKeyChecking=accept-new ${DEPLOY_HOST} " + echo '${HPASS}' | sudo docker login ${HARBOR} -u ${HUSER} --password-stdin + sudo docker pull ${IMAGE}:latest + sudo docker rm -f buildflow-api 2>/dev/null || true + sudo docker run -d --name buildflow-api --restart unless-stopped -p ${APP_PORT}:${APP_PORT} ${IMAGE}:latest + " + """ + } echo "部署完成" } catch (e) { echo "警告:部署节点 ${DEPLOY_HOST} 暂不可用,跳过自动部署(镜像已推送 Harbor)。原因:${e.getMessage()}"