Commit a95bee41 authored by wentao.suo's avatar wentao.suo

增加 ci docker image 构建脚本

parent 5fb4b2a8
/*
docker make pipeline for pipes
*/
def call(body) {
ansiColor('xterm') {
def _stage = new org.qg.docker_new.StageBucket()
def _utils = new org.qg.docker_new.Utils()
//def timeStemp = new Date().format("yyyyMMddHHmmss")
def env = body.env
def gitRepo = env.GIT_REPO
def systemName = env.GIT_REPO_NAME
def branchName = env.BRANCH_NAME.replaceAll("refs/heads/","")
def buildType = env.BUILD_TYPE
/* def namespace = env.NAMESPACE*/
/* def isDeploy = env.IS_DEPLOY*/
def buildNumber = env.BUILD_NUMBER //
def cluster = env.CLUSTER // dev
def imageTag =env.IMAGE_TAG // Library/xyqb:master-1213123
def harborHost =env.HARBOR_HOST //192.168.4.4
def contextDir = _stage.contextMkdir("${gitRepo}-${timeStemp}")
def timeStemp = env.TIMESTEMP
def branchHashCode
def imageTagInfo=[]
node {
try {
/* 1 */
stage('Init') {
_utils.beautyEcho("Init", "stage")
_stage.init_dependency()
_stage.init_image_dependency(buildType,originSystemName,contextDir)
}
withDockerServer([uri: "tcp://192.168.4.96:2375/"]) {
_utils.beautyEcho("checkout & build < ${systemName} : ${branchName} >", "stage")
branchHashCode = _stage.check_and_build(buildType, systemName, branchName, contextDir)
_utils.beautyEcho("build over", "info")
}
/* 3 */
withDockerServer([uri: "tcp://192.168.4.96:2375/"]) {
_utils.beautyEcho("make docker image", "stage")
def imageTagInfo =[harborHost:"http://${harborHost}",imageTag:"${harborHost}/${imageTag}"]
_stage.dockerbuild_and_push(imageTag,buildNumber,systemName,branchName ,cluster,timeStemp,contextDir,branchHashCode)
}
/* 4 */
stage('Clean'){
_utils.beautyEcho("Clear Cache Tmp", "stage")
_stage.clean_images(imageTagInfo["imageTag"],contextDir)
}
} catch (err) {
_utils.beautyEcho(err, "fail")
if(imageTagInfos != null){
_stage.clean_images(imageTagInfo["imageTag"],contextDir)
}
throw err
}
}
}
}
def call(body) {
def timeStemp = new Date().format("yyyyMMddHHmmss")
def env = body.env
def cluster = env.CLUSTER
def gitRepo = env.GIT_REPO
def originBranchName = env.BRANCH_NAME
def buildType= env.BUILD_TYPE
def tier =env.TIER
def buildNumber = env.BUILD_NUMBER
// QG/XXX or QG--QG/systemName--systemName
t = gitRepo.split("/")
def gitGroup = t[0]
// systemName or systemName--systemName
def originSystemName = t[1]
// ["",""]
def systemNames = originSystemName.split("--")
def branchNames = originBranchName.split("--")
def contextDir
def imageTag
def harborGroup = "library"
def _stage = new org.qg.docker_new.StageBucket()
def _utils = new org.qg.docker_new.Utils()
System.out.println("++++++++++")
_utils.beautyEcho( "[CLUSTER:${CLUSTER}] [GIT_REPO:${GIT_REPO}] [BRANCH_NAME:${BRANCH_NAME}] [BUILD_TYPE:${BUILD_TYPE}] [TIER:${TIER}]","info")
node {
try {
/* 1 */
stage('Init') {
_utils.beautyEcho("Init", "stage")
contextDir = _stage.contextMkdir("${originSystemName}-${timeStemp}")
_stage.before_prepare()
}
/* 2 */
withDockerServer([uri: "tcp://192.168.4.96:2375/"]) {
_utils.beautyEcho("checkout & build < ${originSystemName} : ${originBranchName} >", "stage")
for(def i = 0; i<systemNames.length; i++){
dir(systemNames[i]){
_stage.check_and_build(buildType, systemNames[i], branchNames[i], contextDir)
}
}
_utils.beautyEcho("build over", "info")
}
/* 3 */
/*withDockerServer([uri: "tcp://192.168.4.96:2375/"]) {
_utils.beautyEcho("make docker image", "stage")
def regex = "[`,./;\\[\\]&<>?:\"()|-]+"
def k8sSystemName = originSystemName.replaceAll("_","-")
def safeBranchName = originBranchName.replaceAll(regex,"_")
imageTag = _stage.imageTag(harborGroup,k8sSystemName,safeBranchName,timeStemp)
def _systemName = originSystemName.toLowerCase()
_stage.dockerbuild_and_push(imageTag,buildNumber,_systemName,originBranchName ,cluster,timeStemp)
}*/
/* 4 */
stage('Clean'){
_utils.beautyEcho("Clear Cache Tmp", "stage")
_stage.clean_images(imageTag,contextDir)
}
} catch (err) {
_utils.beautyEcho(err, "fail")
_stage.clean_images(imageTag,contextDir)
throw err
}
}
}
/*
sonar check pipeline for pipes
*/
def call(body) {
def _stage = new org.qg.ci.SonarStageBucket()
def _utils = new org.qg.docker_new.Utils()
......
import org.qg.docker.*
import java.time.*
/*
old
*/
def getTime(){
LocalDateTime t = LocalDateTime.now();
return t as String
......
/*
make docker image for test
*/
def call(body) {
......@@ -64,8 +67,7 @@ def call(body) {
for(def i = 0; i<systemNames.length; i++){
dir(systemNames[i]){
branchHashCode = _stage.check_and_build(config.buildType, systemNames[i], branchNames[i], contextDir)
branchHashCode = _stage.check_and_build(config.buildType, systemNames[i], branchNames[i], contextDir)
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment