Commit 493f843e authored by daidekun's avatar daidekun

stage

parent 9a6e6d05
// src/libs/utils.groovy
package libs;
import libs.utils;
class Stage {
def branchName = env.BRANCH_NAME
def gitRepo = env.GIT_REPO
def namespace = env.NAMESPACE
def isDeploy = env.IS_DEPLOY
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 buildNumber
def imageTag
def utils = new libs.utils()
def contextDir = utils.contextDir()
def checkout() {
sh "cp -r /home/quant_group/qg-dockerfiles/templates/ui ${contextDir}"
git branch: branchName, credentialsId: 'e1ccb1ac-1282-4fb4-b766-530ca1a2a2db', url: "git@gitabc.xyqb.com:${gitRepo}.git"
sh "git pull origin master"
}
def build() {
sh "ansible-playbook /etc/ansible/build.yml -e prefix=${namespace} -e project_name=pre.${systemName} -e workspace=${contextDir} -vv"
}
def docker_build_and_push() {
buildNumber = env.BUILD_NUMBER
/*分支名中非法字符统一替换为下划线*/
regex = "[`,./;\\[\\]&<>?:\"()|-]+"
safeBranchName = branchName.replaceAll(regex,"_")
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 "=================镜像地址================="
echo imageTag
echo "========================================="
}
def deploy() {
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: "backend")]
}else{
echo "namespace不存在,不执行deploy"
echo namespace
}
}
def clean() {
sh "rm -rf ./${contextDir}"
}
}
// src/libs/utils.groovy
package libs;
import libs.utils;
def branchName = env.BRANCH_NAME
def gitRepo = env.GIT_REPO
def namespace = env.NAMESPACE
def isDeploy = env.IS_DEPLOY
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 buildNumber
def imageTag
def utils = new libs.utils()
def contextDir = utils.contextDir()
def checkout() {
sh "cp -r /home/quant_group/qg-dockerfiles/templates/ui ${contextDir}"
git branch: branchName, credentialsId: 'e1ccb1ac-1282-4fb4-b766-530ca1a2a2db', url: "git@gitabc.xyqb.com:${gitRepo}.git"
sh "git pull origin master"
}
def build() {
sh "ansible-playbook /etc/ansible/build.yml -e prefix=${namespace} -e project_name=pre.${systemName} -e workspace=${contextDir} -vv"
}
def docker_build_and_push() {
buildNumber = env.BUILD_NUMBER
/*分支名中非法字符统一替换为下划线*/
regex = "[`,./;\\[\\]&<>?:\"()|-]+"
safeBranchName = branchName.replaceAll(regex,"_")
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 "=================镜像地址================="
echo imageTag
echo "========================================="
}
def deploy() {
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: "backend")]
}else{
echo "namespace不存在,不执行deploy"
echo namespace
}
}
def clean() {
sh "rm -rf ./${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