README.md 3.0 KB

预生产 Harbor 镜像 → ACK(仅晋升,不构建)

Harbor:39.105.153.68alien_cloud)。Jenkins:39.106.135.88:30003。ACK:alien-ack-cluster

__alone/Jenkinsfile-prod-promote-from-uat.groovy(拷 jar + compose)并列;本目录只做:

docker pull  39.105.153.68/alien_cloud/<服务>:<SOURCE_TAG>
docker tag   → :<TARGET_TAG>
docker push
kubectl set image(可选)

Checkout 业务代码、 Maven、 docker build。


Jenkins Job 与 Script Path

建议 Job 名 Script Path 粒度
gateway-k8s docs/jenkins/produ/gateway/Jenkinsfile 单服务
store-k8s docs/jenkins/produ/store/Jenkinsfile 单服务
produ/<prodDir>/Jenkinsfile
alien-cloud-k8s-whole docs/jenkins/produ/whole/Jenkinsfile whole/single/multi(界面见 README-JOB-WHOLE.md
alien-cloud-k8s-promote-image docs/jenkins/produ/promote-image/Jenkinsfile 同 whole

Pipeline from SCM 配置

定义 Pipeline script from SCM
仓库 http://8.152.195.41:3000/alien/alien_cloud
分支 预生产分支,如 */uat-20260202
SCM Credentials Gitzhanghaomimapingzhengdujian/****** (git)

SCM Credentials ≠ Harbor 机器人

位置 选什么 不要选
Repository URL 旁 Credentials Git 账号 robot$alien_cloud+jenkins-k8s
Jenkins 凭据库 harbor-robot-alien 用户名 robot$alien_cloud+jenkins-k8s,密码=Token
Jenkins 凭据库 ack-kubeconfig-alien ACK kubeconfig 文件

Harbor 机器人只用于流水线里的 docker login,不是拉 Git 的 Jenkinsfile。


参数说明(单服务 Job)

参数 说明
SOURCE_TAG 预生产已在 Harbor 的 tag,如 uat-build-42
TARGET_TAG 生产 tag,默认 produ-${BUILD_NUMBER}
DEPLOY_STRATEGY rolling / canary / skip(只推镜像)
HARBOR_REGISTRY 39.105.153.68

整体 Job 另增 DEPLOY_MODEwhole / single / multi(同 prod-promote)。


预生产镜像从哪来?

88 上 UAT 构建后需有一次把镜像推到 Harbor,例如:

39.105.153.68/alien_cloud/gateway:uat-build-42

之后本目录流水线只做 tag 晋升

详见 README-HARBOR-SETUP.mdREADME-PROMOTE-IMAGE.mdREADME-ACK-GRAY-RELEASE.md


目录结构

docs/jenkins/produ/
├── __alone/                    # 参考:jar 晋升 compose(勿删)
├── _shared/
│   ├── k8s-produ-lib.groovy
│   └── service-registry.groovy
├── gateway/Jenkinsfile           # 单服务
├── store/ … dining/
├── whole/Jenkinsfile             # 整体/多选
├── promote-image/Jenkinsfile     # 同 whole
└── k8s/examples/                 # ACK 清单示例