定義項目名
PROJECT_NAME=****
根據Dockerfile 文件編譯鏡像
docker build -t reg.*****.cn/$PROJECT_NAME/$JOB_BASE_NAME:$BUILD_NUMBER .
登錄鏡像庫,並上傳鏡像
docker login -u admin -p ****** reg.*****cn
docker push reg.*******.cn/$PROJECT_NAME/$JOB_BASE_NAME:$BUILD_NUMBER
清除本地鏡像,減少硬盤空間
docker rmi reg.*******.cn/$PROJECT_NAME/$JOB_BASE_NAME:$BUILD_NUMBER
登錄到RANCHER 並切換至指定項目空間
rancher login https://rancher.******.cn/v3 --token token-t5sd8:8w69bjh4k5bwzcckbznfbjlzn6nrvgktpksgspk56c9675t7tw89h8 --context c-t575d:p-9xl9l
更新K8S工作負載,鏡像版本。
rancher kubectl set image deploy $JOB_BASE_NAME $JOB_BASE_NAME=reg.******.cn/$PROJECT_NAME/$JOB_BASE_NAME:$BUILD_NUMBER -n $PROJECT_NAME
注:JOB_BASE_NAME jenkins任務的名稱(工程名稱),BUILD_NUMBER發布的序號(編號),-n $PROJECT_NAME k8s的命名空間,與項目名一至。