From b3d8750816805dd388bb92ddaf3f184b290bb389 Mon Sep 17 00:00:00 2001 From: xiangning Date: Fri, 17 Jul 2026 11:40:38 +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 Harbor 私有仓库,cd-target pull 需先登录。withCredentials 传凭证 通过 ssh 执行 docker login(stdin 传密码)。 --- Jenkinsfile | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index d3ce10f..81e2db2 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -45,13 +45,16 @@ pipeline { steps { script { try { - sh """ - ssh -o StrictHostKeyChecking=accept-new ${DEPLOY_HOST} ' - sudo docker pull ${IMAGE}:latest - sudo docker rm -f buildflow-portal 2>/dev/null || true - sudo docker run -d --name buildflow-portal --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-portal 2>/dev/null || true + sudo docker run -d --name buildflow-portal --restart unless-stopped -p ${APP_PORT}:${APP_PORT} ${IMAGE}:latest + " + """ + } echo "部署完成" } catch (e) { echo "警告:部署节点 ${DEPLOY_HOST} 暂不可用,跳过自动部署(镜像已推送 Harbor)。原因:${e.getMessage()}"