pipeline {
agent {
node {
label 'maven'
}
}
stages {
# 指定測試通過版本打tag成鏡像推送到服務器
stage('Build and Push') {
steps {
container('maven') {
withCredentials([usernamePassword(credentialsId : '鏡像私服賬號' ,passwordVariable : 'DOCKER_PASSWORD' ,usernameVariable : 'DOCKER_USERNAME' ,)]) {
sh '''#登錄Harbor
# 鏡像私服賬號名爲憑證名,$DOCKER_PASSWORD,$DOCKER_USERNAME爲憑證中配置參數
echo "$DOCKER_PASSWORD" | docker login 鏡像地址 -u "$DOCKER_USERNAME" --password-stdin'''
sh '''#獲取鏡像
IMAGE=鏡像地址/工程目錄/jxcc-report-server
#sourcetag爲指定的測試環境通過測試的鏡像版本號,如SNAPSHOT-TEST-1
IMAGE_SOURCETAG=${IMAGE}:${sourcetag}
echo "Get image: ${IMAGE_SOURCETAG}"
docker pull ${IMAGE_SOURCETAG}
#tag爲將該測試通過的鏡像打包tag的版本,如0.0.1
IMAGE_TAG=${IMAGE}:${tag}
echo "To tag image:IMAGE_TAG"
# 打tag
docker tag ${IMAGE_SOURCETAG} ${IMAGE_TAG}
# tag推送
docker push ${IMAGE_TAG}'''
}
}
}
}
}
}
jenkinsFile打tag腳本簡介
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.