diff --git a/Jenkinsfile b/Jenkinsfile index 941569a2f..0bb9dbe34 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -79,19 +79,14 @@ pipeline { env.RESOLVED_ENVIRONMENT = resolvedEnvironment echo "Job ${env.JOB_BASE_NAME} 使用部署环境: ${env.RESOLVED_ENVIRONMENT}" - String requestedRepository - if (['development', 'test'].contains(env.RESOLVED_ENVIRONMENT)) { - requestedRepository = "baiyue-firstleg-${env.RESOLVED_ENVIRONMENT}" - echo "${env.RESOLVED_ENVIRONMENT} 环境使用本地镜像,由构建节点直接传输到部署目标" - } else { - requestedRepository = params.IMAGE_REPOSITORY?.trim() - if (!requestedRepository || requestedRepository == 'registry.example.com/your-group/baiyue-firstleg') { - error('预发布/生产环境必须填写真实镜像仓库地址') - } - if (requestedRepository.contains('://') || !requestedRepository.contains('/')) { - error('IMAGE_REPOSITORY 格式错误:请填写 host[:port]/owner/image,不要包含 http:// 或 https://') - } + String requestedRepository = params.IMAGE_REPOSITORY?.trim() + if (!requestedRepository || requestedRepository == 'registry.example.com/your-group/baiyue-firstleg') { + error('必须填写真实镜像仓库地址') } + if (requestedRepository.contains('://') || !requestedRepository.contains('/')) { + error('IMAGE_REPOSITORY 格式错误:请填写 host[:port]/owner/image,不要包含 http:// 或 https://') + } + echo "${env.RESOLVED_ENVIRONMENT} 环境使用共享镜像仓库: ${requestedRepository}" env.RESOLVED_IMAGE_REPOSITORY = requestedRepository String jobPrefix = params.DOWNSTREAM_JOB_PREFIX?.trim() diff --git a/Jenkinsfile.service b/Jenkinsfile.service index 8216948b2..715dea812 100644 --- a/Jenkinsfile.service +++ b/Jenkinsfile.service @@ -63,9 +63,7 @@ pipeline { } String sourceCommit = params.SOURCE_COMMIT?.trim() String imageTag = params.IMAGE_TAG?.trim() - String imageRepository = ['development', 'test'].contains(params.ENVIRONMENT) - ? "baiyue-firstleg-${params.ENVIRONMENT}" - : params.IMAGE_REPOSITORY?.trim() + String imageRepository = params.IMAGE_REPOSITORY?.trim() if (!sourceCommit) { sourceCommit = sh(script: 'git rev-parse HEAD', returnStdout: true).trim() @@ -86,8 +84,8 @@ pipeline { if (!imageRepository || imageRepository.contains('://')) { error('IMAGE_REPOSITORY 不能为空且不能包含协议前缀') } - if (!['development', 'test'].contains(params.ENVIRONMENT) && !imageRepository.contains('/')) { - error('预发布/生产环境 IMAGE_REPOSITORY 必须使用 host[:port]/owner/image 格式') + if (!imageRepository.contains('/')) { + error('IMAGE_REPOSITORY 必须使用 host[:port]/owner/image 格式') } env.RESOLVED_SERVICE = service @@ -143,22 +141,18 @@ pipeline { sh "mkdir -p '${contextDir}' && cp -f '${jar}' '${contextDir}/app.jar'" sh "docker build -f deploy/docker/Dockerfile --build-arg BASE_IMAGE=${params.DOCKER_BASE_IMAGE} --build-arg JAR_FILE=app.jar -t ${image} '${contextDir}'" - if (['development', 'test'].contains(params.ENVIRONMENT)) { - echo "${params.ENVIRONMENT} 镜像已保存在构建节点 ${env.NODE_NAME}: ${image}" - } else { - echo "推送共享镜像: ${image}" - withCredentials([usernamePassword(credentialsId: env.REGISTRY_CREDENTIALS, usernameVariable: 'REGISTRY_USER', passwordVariable: 'REGISTRY_PASSWORD')]) { - try { - sh 'printf %s "$REGISTRY_PASSWORD" | docker login -u "$REGISTRY_USER" --password-stdin "' + registryHost + '"' - sh "docker push ${image}" - } finally { - sh "docker logout ${registryHost} || true" - } - } - if (params.DEPLOY) { - stash name: 'deployment-files', includes: 'deploy/**', useDefaultExcludes: true + echo "推送共享镜像: ${image}" + withCredentials([usernamePassword(credentialsId: env.REGISTRY_CREDENTIALS, usernameVariable: 'REGISTRY_USER', passwordVariable: 'REGISTRY_PASSWORD')]) { + try { + sh 'printf %s "$REGISTRY_PASSWORD" | docker login -u "$REGISTRY_USER" --password-stdin "' + registryHost + '"' + sh "docker push ${image}" + } finally { + sh "docker logout ${registryHost} || true" } } + if (params.DEPLOY && !['development', 'test'].contains(params.ENVIRONMENT)) { + stash name: 'deployment-files', includes: 'deploy/**', useDefaultExcludes: true + } } } }