ソースを参照

修改暴露端口

yangliu 2 ヶ月 前
コミット
7c9d306c65
1 ファイル変更19 行追加1 行削除
  1. 19 1
      Jenkinsfile

+ 19 - 1
Jenkinsfile

@@ -10,6 +10,8 @@ pipeline {
         PROJECT_NAME       = 'gateway-service'
         MAVEN_HOME         = '/usr/local/apache-maven-3.9.9/bin'
         HARBOR_HOST        = '8.130.28.21:81'
+        HARBOR_USER        = 'admin'
+        HARBOR_PASSWORD    = 'Hfln@1024'
         KUBECONFIG_PATH    = '/root/.kube/config'
         SPRING_PROFILES_ACTIVE = "${params.env}"
     }
@@ -41,7 +43,7 @@ pipeline {
                     def imageTag = "${HARBOR_HOST}/${params.env}/${PROJECT_NAME}:${BUILD_NUMBER}"
                     echo ">>> 构建 Docker 镜像: ${imageTag}"
                     sh """
-                        docker login -u admin -p Hfln@1024 ${HARBOR_HOST}
+                        docker login -u ${HARBOR_USER} -p ${HARBOR_PASSWORD} ${HARBOR_HOST}
                         docker build --build-arg env=${params.env} -t ${imageTag} .
                         docker push ${imageTag}
                         docker rmi ${imageTag}
@@ -51,6 +53,20 @@ pipeline {
             }
         }
 
+        stage('🔍 镜像拉取测试(可选)') {
+            steps {
+                script {
+                    def imageTag = "${HARBOR_HOST}/${params.env}/${PROJECT_NAME}:${BUILD_NUMBER}"
+                    echo ">>> 测试节点能否拉取镜像..."
+                    sh """
+                        # 登录节点测试拉取镜像
+                        ssh root@node1 "docker login -u ${HARBOR_USER} -p ${HARBOR_PASSWORD} ${HARBOR_HOST} && docker pull ${imageTag} || echo '[❌ 节点 node1 拉取失败]'"
+                        ssh root@node2 "docker login -u ${HARBOR_USER} -p ${HARBOR_PASSWORD} ${HARBOR_HOST} && docker pull ${imageTag} || echo '[❌ 节点 node2 拉取失败]'"
+                    """
+                }
+            }
+        }
+
         stage('🚀 部署到 Kubernetes') {
             steps {
                 script {
@@ -79,6 +95,8 @@ spec:
       labels:
         app: ${PROJECT_NAME}
     spec:
+      imagePullSecrets:
+      - name: harbor-secret
       containers:
       - name: ${PROJECT_NAME}
         image: ${imageTag}