Commit a4e00e5a authored by daidekun's avatar daidekun

fixbug

parent 2260fdab
// src/org/foo/Stage.groovy // src/org/foo/Stage.groovy
package org.qg; package org.qg;
class StageBucket { def env = body.env
def debug() { def branchName = env.BRANCH_NAME
print "123" def gitRepo = env.GIT_REPO
} def namespace = env.NAMESPACE
def isDeploy = env.IS_DEPLOY
def buildNumber = env.BUILD_NUMBER
t = gitRepo.split("/")
def gitGroup = t[0]
def systemName = t[1]
def checkout(branchName, contextDir, gitRepo) { def harborGroup = "library"
sh "cp -r /home/quant_group/qg-dockerfiles/templates/ui ${contextDir}" def workspace = "/home/quant_group/jenkins_home/workspace/${env.JOB_NAME}"
git branch: branchName, credentialsId: 'e1ccb1ac-1282-4fb4-b766-530ca1a2a2db', url: "git@gitabc.xyqb.com:${gitRepo}.git"
sh "git pull origin master"
}
def build(namespace, systemName, contextDir) { def imageTag
sh "ansible-playbook /etc/ansible/build.yml -e prefix=${namespace} -e project_name=pre.${systemName} -e workspace=${contextDir} -vv" def contextDir
}
def docker_build_and_push(buildNumber, branchName, harborGroup, systemName, contextDir) { def checkout(branchName, contextDir, gitRepo) {
/*分支名中非法字符统一替换为下划线*/ sh "cp -r /home/quant_group/qg-dockerfiles/templates/ui ${contextDir}"
regex = "[`,./;\\[\\]&<>?:\"()|-]+" git branch: branchName, credentialsId: 'e1ccb1ac-1282-4fb4-b766-530ca1a2a2db', url: "git@gitabc.xyqb.com:${gitRepo}.git"
safeBranchName = branchName.replaceAll(regex,"_") sh "git pull origin master"
safeSystemName = "project" }
imageTag = "192.168.4.36/${harborGroup}/${systemName}:${safeBranchName}-${buildNumber}"
withDockerServer([uri: "tcp://192.168.4.96:2375/"]) {
withDockerRegistry([credentialsId: 'harbor-qajenkins', url: "http://192.168.4.36"]) {
def image = docker.build(imageTag, "--build-arg BUILD_NUMBER=${buildNumber} --build-arg SYSTEM_NAME=${safeSystemName} ${contextDir}")
image.push()
}
}
echo "=================镜像地址=================" def build(namespace, systemName, contextDir) {
echo imageTag sh "ansible-playbook /etc/ansible/build.yml -e prefix=${namespace} -e project_name=pre.${systemName} -e workspace=${contextDir} -vv"
echo "=========================================" }
return imageTag def docker_build_and_push(buildNumber, branchName, harborGroup, systemName, contextDir) {
} /*分支名中非法字符统一替换为下划线*/
regex = "[`,./;\\[\\]&<>?:\"()|-]+"
safeBranchName = branchName.replaceAll(regex,"_")
safeSystemName = "project"
imageTag = "192.168.4.36/${harborGroup}/${systemName}:${safeBranchName}-${buildNumber}"
def deploy(namespace, systemName, imageTag, tier, isDeploy) { withDockerServer([uri: "tcp://192.168.4.96:2375/"]) {
if (isDeploy) { withDockerRegistry([credentialsId: 'harbor-qajenkins', url: "http://192.168.4.36"]) {
echo ("将镜像更新到到Namespace:" + namespace) def image = docker.build(imageTag, "--build-arg BUILD_NUMBER=${buildNumber} --build-arg SYSTEM_NAME=${safeSystemName} ${contextDir}")
build job: 'deployer.Updater', parameters: [ image.push()
string(name: 'namespace', value:"${namespace}"),
string(name:'name', value: "${systemName}"),
string(name:'image', value: "${imageTag}"),
string(name:'tier', value: "${tier}")]
}else{
echo "namespace不存在,不执行deploy"
echo namespace
} }
} }
def clean(contextDir) { echo "=================镜像地址================="
sh "rm -rf ./${contextDir}" echo imageTag
echo "========================================="
return imageTag
}
def deploy(namespace, systemName, imageTag, tier, isDeploy) {
if (isDeploy) {
echo ("将镜像更新到到Namespace:" + namespace)
build job: 'deployer.Updater', parameters: [
string(name: 'namespace', value:"${namespace}"),
string(name:'name', value: "${systemName}"),
string(name:'image', value: "${imageTag}"),
string(name:'tier', value: "${tier}")]
}else{
echo "namespace不存在,不执行deploy"
echo namespace
} }
} }
def clean(contextDir) {
sh "rm -rf ./${contextDir}"
}
...@@ -4,23 +4,7 @@ def call(body) { ...@@ -4,23 +4,7 @@ def call(body) {
def config = [:] def config = [:]
def env = body.env def _stage = new org.qg.StageBucket(body)
def branchName = env.BRANCH_NAME
def gitRepo = env.GIT_REPO
def namespace = env.NAMESPACE
def isDeploy = env.IS_DEPLOY
def buildNumber = env.BUILD_NUMBER
t = gitRepo.split("/")
def gitGroup = t[0]
def systemName = t[1]
def harborGroup = "library"
def workspace = "/home/quant_group/jenkins_home/workspace/${env.JOB_NAME}"
def imageTag
def contextDir
def _stage = new org.qg.StageBucket()
def _utils = new org.qg.Utils() def _utils = new org.qg.Utils()
body.resolveStrategy = Closure.DELEGATE_FIRST body.resolveStrategy = Closure.DELEGATE_FIRST
......
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