fix(ci): JsonSlurper → JsonSlurperClassic 修复 CPS 序列化问题
Jenkins CPS 要求所有变量可序列化,JsonSlurper 返回的 LazyMap 不满足。 Co-Authored-By: Claude <noreply@anthropic.com>
这个提交包含在:
父节点
ba6fb48f5b
当前提交
33ccaa677f
8
Jenkinsfile
vendored
8
Jenkinsfile
vendored
@ -74,7 +74,7 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
withCredentials([string(credentialsId: 'ACR_PASSWORD', variable: 'ACR_PASS')]) {
|
withCredentials([string(credentialsId: 'ACR_PASSWORD', variable: 'ACR_PASS')]) {
|
||||||
script {
|
script {
|
||||||
def serviceVersions = new groovy.json.JsonSlurper().parseText(env.SERVICE_VERSIONS_JSON)
|
def serviceVersions = new groovy.json.JsonSlurperClassic().parseText(env.SERVICE_VERSIONS_JSON)
|
||||||
for (entry in serviceVersions) {
|
for (entry in serviceVersions) {
|
||||||
def svc = entry.key
|
def svc = entry.key
|
||||||
def ver = entry.value
|
def ver = entry.value
|
||||||
@ -107,7 +107,7 @@ pipeline {
|
|||||||
lock('prod-deploy') {
|
lock('prod-deploy') {
|
||||||
withCredentials([sshUserPrivateKey(credentialsId: 'PROD_SSH_KEY', keyFileVariable: 'SSH_KEY')]) {
|
withCredentials([sshUserPrivateKey(credentialsId: 'PROD_SSH_KEY', keyFileVariable: 'SSH_KEY')]) {
|
||||||
script {
|
script {
|
||||||
def serviceVersions = new groovy.json.JsonSlurper().parseText(env.SERVICE_VERSIONS_JSON)
|
def serviceVersions = new groovy.json.JsonSlurperClassic().parseText(env.SERVICE_VERSIONS_JSON)
|
||||||
for (entry in serviceVersions) {
|
for (entry in serviceVersions) {
|
||||||
def svc = entry.key
|
def svc = entry.key
|
||||||
def latestImage = "${ACR_REGISTRY}/${ACR_NAMESPACE}/${svc}:latest"
|
def latestImage = "${ACR_REGISTRY}/${ACR_NAMESPACE}/${svc}:latest"
|
||||||
@ -163,7 +163,7 @@ print('versions.json updated, platformVersion=' + d.get('platformVersion', ''))
|
|||||||
stage('Commit Versions') {
|
stage('Commit Versions') {
|
||||||
steps {
|
steps {
|
||||||
script {
|
script {
|
||||||
def serviceVersions = new groovy.json.JsonSlurper().parseText(env.SERVICE_VERSIONS_JSON)
|
def serviceVersions = new groovy.json.JsonSlurperClassic().parseText(env.SERVICE_VERSIONS_JSON)
|
||||||
def versionFiles = serviceVersions.keySet().collect { "VERSION.${it}" }.join(' ')
|
def versionFiles = serviceVersions.keySet().collect { "VERSION.${it}" }.join(' ')
|
||||||
def summary = serviceVersions.collect { svc, ver -> "${svc}=${ver}" }.join(', ')
|
def summary = serviceVersions.collect { svc, ver -> "${svc}=${ver}" }.join(', ')
|
||||||
bat """
|
bat """
|
||||||
@ -182,7 +182,7 @@ print('versions.json updated, platformVersion=' + d.get('platformVersion', ''))
|
|||||||
post {
|
post {
|
||||||
success {
|
success {
|
||||||
script {
|
script {
|
||||||
def serviceVersions = new groovy.json.JsonSlurper().parseText(env.SERVICE_VERSIONS_JSON ?: '{}')
|
def serviceVersions = new groovy.json.JsonSlurperClassic().parseText(env.SERVICE_VERSIONS_JSON ?: '{}')
|
||||||
def summary = serviceVersions.collect { svc, ver -> "${svc}:${ver}" }.join(', ')
|
def summary = serviceVersions.collect { svc, ver -> "${svc}:${ver}" }.join(', ')
|
||||||
bat "chcp 65001 >nul && echo ✅ 构建部署成功 — ${summary}"
|
bat "chcp 65001 >nul && echo ✅ 构建部署成功 — ${summary}"
|
||||||
}
|
}
|
||||||
|
|||||||
正在加载...
在新工单中引用
屏蔽一个用户