通過jenkins同時打包部署服務到測試壞境和生產環境
env.PROJ_DIR="${JENKINS_HOME}/workspace" //jenkins workspace
env.PROJ_URL="git@github.***.com:devops/WebManageSystem.git" // 項目的SSH地址
//env.PROJ_NAME="WebManageSystem" // 項目名
env.LANGUAGE="golang" //基礎鏡像
env.TAGS="1.12.4-alpine3.9" //基礎鏡像TAG
env.HARBOR="dimage.****.com/onlytest" //鏡像倉庫的URL
env.INAME="webmanagesystem" //製作的鏡像名(自定義時不要使用大寫字母)
// String tag='latest' //製作的鏡像TAG
node {
stage('Get Code') {
dir(path: "${PROJ_DIR}/$JOB_NAME/") { //指定git拉取代碼目錄
git "${PROJ_URL}"
tag = sh(returnStdout: true, script: 'git rev-parse --short HEAD').trim() // 獲取 git commitID
}
}
withEnv(["IMAGE_TAG=${tag}"]) {
stage('Docker Build') { //構建鏡像,ssh到遠程主機執行命令,該命令要用"",Dodckerfile頂格
sh '''
ssh [email protected].**.** "rm -rf /opt/$JOB_NAME" //遠程登錄harbor服務器