dujian 1 неделя назад
Родитель
Сommit
8856d7b946

+ 15 - 14
docs/jenkins/produ/_shared/k8s-produ-lib.groovy

@@ -84,23 +84,24 @@ def deployToAck(def script, Map cfg) {
     }
 }
 
-def promoteOneServiceToAck(def script, Map svc, Map params, Map env) {
-    def regHost = params.HARBOR_REGISTRY.trim()
-    def proj = params.HARBOR_PROJECT.trim()
-    def srcTag = requireSourceTag(script, params.SOURCE_TAG)
-    def tgtTag = resolveTargetTag(script, params.TARGET_TAG)
-    def dryRun = params.DRY_RUN == true
-    def strategy = params.DEPLOY_STRATEGY ?: 'rolling'
+/** Single-service promote + ACK. Use script.params / script.env (do not pass params/env as args: CPS breaks method dispatch). */
+def promoteOneServiceToAck(def script, Map svc) {
+    def regHost = script.params.HARBOR_REGISTRY.trim()
+    def proj = script.params.HARBOR_PROJECT.trim()
+    def srcTag = requireSourceTag(script, script.params.SOURCE_TAG)
+    def tgtTag = resolveTargetTag(script, script.params.TARGET_TAG)
+    def dryRun = script.params.DRY_RUN == true
+    def strategy = script.params.DEPLOY_STRATEGY ?: 'rolling'
 
-    env.TARGET_TAG_RESOLVED = tgtTag
-    env.IMAGE_REF = "${regHost}/${proj}/${svc.prodDir}:${tgtTag}"
+    script.env.TARGET_TAG_RESOLVED = tgtTag
+    script.env.IMAGE_REF = "${regHost}/${proj}/${svc.prodDir}:${tgtTag}"
 
     promoteHarborImages(script, [svc], [
         harborRegistry: regHost,
         harborProject: proj,
         sourceTag: srcTag,
         targetTag: tgtTag,
-        harborCredentialsId: env.HARBOR_CREDENTIALS,
+        harborCredentialsId: script.env.HARBOR_CREDENTIALS,
         dryRun: dryRun,
     ])
 
@@ -109,14 +110,14 @@ def promoteOneServiceToAck(def script, Map svc, Map params, Map env) {
     }
 
     deployToAck(script, [
-        k8sNamespace: params.K8S_NAMESPACE,
-        imageRef: env.IMAGE_REF,
+        k8sNamespace: script.params.K8S_NAMESPACE,
+        imageRef: script.env.IMAGE_REF,
         deployStrategy: strategy == 'canary' ? 'canary' : 'rolling',
         deploymentStable: svc.deployName,
         deploymentCanary: "${svc.deployName}-canary",
         ingressCanary: "${svc.deployName}-canary",
-        canaryWeight: (params.CANARY_WEIGHT ?: '10').trim(),
-        kubeCredentialsId: env.KUBECONFIG_CREDENTIALS,
+        canaryWeight: (script.params.CANARY_WEIGHT ?: '10').trim(),
+        kubeCredentialsId: script.env.KUBECONFIG_CREDENTIALS,
     ])
 }
 

+ 1 - 1
docs/jenkins/produ/dining/Jenkinsfile

@@ -24,7 +24,7 @@ pipeline {
             steps { script {
                 sparseCheckoutProduShared()
                 def k8s = load 'docs/jenkins/produ/_shared/k8s-produ-lib.groovy'
-                k8s.promoteOneServiceToAck(this, SVC, params, env)
+                k8s.promoteOneServiceToAck(this, SVC)
                 echo ">>> dining: ${env.IMAGE_REF}"
             } }
         }

+ 1 - 1
docs/jenkins/produ/gateway/Jenkinsfile

@@ -51,7 +51,7 @@ pipeline {
                 script {
                     sparseCheckoutProduShared()
                     def k8s = load 'docs/jenkins/produ/_shared/k8s-produ-lib.groovy'
-                    k8s.promoteOneServiceToAck(this, SVC, params, env)
+                    k8s.promoteOneServiceToAck(this, SVC)
                     echo ">>> gateway 完成: ${env.IMAGE_REF}"
                 }
             }

+ 1 - 1
docs/jenkins/produ/job/Jenkinsfile

@@ -24,7 +24,7 @@ pipeline {
             steps { script {
                 sparseCheckoutProduShared()
                 def k8s = load 'docs/jenkins/produ/_shared/k8s-produ-lib.groovy'
-                k8s.promoteOneServiceToAck(this, SVC, params, env)
+                k8s.promoteOneServiceToAck(this, SVC)
                 echo ">>> job: ${env.IMAGE_REF}"
             } }
         }

+ 1 - 1
docs/jenkins/produ/lawyer/Jenkinsfile

@@ -24,7 +24,7 @@ pipeline {
             steps { script {
                 sparseCheckoutProduShared()
                 def k8s = load 'docs/jenkins/produ/_shared/k8s-produ-lib.groovy'
-                k8s.promoteOneServiceToAck(this, SVC, params, env)
+                k8s.promoteOneServiceToAck(this, SVC)
                 echo ">>> lawyer: ${env.IMAGE_REF}"
             } }
         }

+ 1 - 1
docs/jenkins/produ/second/Jenkinsfile

@@ -24,7 +24,7 @@ pipeline {
             steps { script {
                 sparseCheckoutProduShared()
                 def k8s = load 'docs/jenkins/produ/_shared/k8s-produ-lib.groovy'
-                k8s.promoteOneServiceToAck(this, SVC, params, env)
+                k8s.promoteOneServiceToAck(this, SVC)
                 echo ">>> second: ${env.IMAGE_REF}"
             } }
         }

+ 1 - 1
docs/jenkins/produ/store-platform/Jenkinsfile

@@ -24,7 +24,7 @@ pipeline {
             steps { script {
                 sparseCheckoutProduShared()
                 def k8s = load 'docs/jenkins/produ/_shared/k8s-produ-lib.groovy'
-                k8s.promoteOneServiceToAck(this, SVC, params, env)
+                k8s.promoteOneServiceToAck(this, SVC)
                 echo ">>> store-platform: ${env.IMAGE_REF}"
             } }
         }

+ 1 - 1
docs/jenkins/produ/store/Jenkinsfile

@@ -24,7 +24,7 @@ pipeline {
             steps { script {
                 sparseCheckoutProduShared()
                 def k8s = load 'docs/jenkins/produ/_shared/k8s-produ-lib.groovy'
-                k8s.promoteOneServiceToAck(this, SVC, params, env)
+                k8s.promoteOneServiceToAck(this, SVC)
                 echo ">>> store: ${env.IMAGE_REF}"
             } }
         }