Commit aa3371bd by Administrator

Add new Jenkinsfile

parent c7af14ca
def projectName = 'brandkbs2'
def projectType = 'application'
def pmName = '沈君杰'
def pmMail = 'shenjunjie@zhiweidata.com'
def opName = '张金晓'
def opMail = 'tom@zhiweidata.com'
pipeline {
agent {label 'jenkins-jnlp'}
triggers {
GenericTrigger(
genericVariables: [
[key: 'ref', value: '$.ref']
],
causeString: 'Triggered on $ref',
token: "${projectName}",
printContributedVariables: true,
printPostContent: true,
silentResponse: false,
regexpFilterText: '$ref',
regexpFilterExpression: 'refs/heads/' + BRANCH_NAME
)
}
stages {
stage('build') {
when { branch 'master' }
steps {
sh '/apache-maven-3.6.3/bin/mvn clean package -Dmaven.test.skip=true -U'
}
post {
success {
sh "/usr/local/bin/workwechatctl -p ${env.JOB_NAME} -n 沈君杰 -c 项目编译成功进行下一阶段"
}
failure {
step([$class: 'Mailer',
notifyEveryUnstableBuild: true,
recipients: "shenjunjie@zhiweidata.com",
sendToIndividuals: true])
}
}
}
stage('build image') {
when { branch 'master' }
steps {
withCredentials([usernamePassword(credentialsId: 'dockerHub', passwordVariable: 'dockerHubPassword', usernameVariable: 'dockerHubUser')]) {
sh "docker login -u ${dockerHubUser} -p ${dockerHubPassword} harbor.docker.zhiweidata.top"
sh "docker build -t harbor.docker.zhiweidata.top/${projectType}/${env.JOB_NAME}:${env.BUILD_NUMBER} ."
}
}
post {
failure {
sh "/usr/local/bin/workwechatctl -p ${env.JOB_NAME} -n 沈君杰 -c 镜像构建失败请查看详细信息"
}
}
}
stage('push image') {
when { branch 'master' }
steps {
withCredentials([usernamePassword(credentialsId: 'dockerHub', passwordVariable: 'dockerHubPassword', usernameVariable: 'dockerHubUser')]) {
sh "docker login -u ${dockerHubUser} -p ${dockerHubPassword} harbor.docker.zhiweidata.top"
sh "docker push harbor.docker.zhiweidata.top/${projectType}/${env.JOB_NAME}:${env.BUILD_NUMBER}"
}
}
post {
failure {
sh "/usr/local/bin/workwechatctl -p ${env.JOB_NAME} -n 沈君杰 -c 镜像push成功进行下一阶段"
}
}
}
stage('deploy') {
when { branch 'master' }
steps {
sh "kubectl -n ${projectType} set image deployment/${projectName} ${projectName}=harbor.docker.zhiweidata.top/${projectType}/${env.JOB_NAME}:${env.BUILD_NUMBER} --record"
}
post {
success {
sh "/usr/local/bin/workwechatctl -p ${env.JOB_NAME} -n 沈君杰 -c k8spod已部署更新成功"
}
failure {
sh "/usr/local/bin/workwechatctl -p ${env.JOB_NAME} -n 沈君杰 -c k8spod部署更新失败"
}
}
}
}
}
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