90 lines
3.2 KiB
Groovy
90 lines
3.2 KiB
Groovy
pipeline {
|
|
agent any
|
|
stages {
|
|
stage('develop build and upload') {
|
|
when {
|
|
branch "develop"
|
|
}
|
|
steps {
|
|
script {
|
|
try {
|
|
sh '''
|
|
docker login http://172.16.102.3:30648 -u ${reg_username} -p ${reg_passwd}
|
|
docker build -t 172.16.102.3:30648/maimai/${service_name}:latest .
|
|
docker push 172.16.102.3:30648/maimai/${service_name}:latest
|
|
kubectl rollout restart deployment ${service_name} -n dev
|
|
'''
|
|
} catch(err) {
|
|
sh 'exit 1'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stage('test build only') {
|
|
when {
|
|
expression {ref ==~ 'refs/tags/test-.*' }
|
|
}
|
|
steps {
|
|
script {
|
|
try {
|
|
sh '''
|
|
docker login http://172.16.102.3:30648 -u ${reg_username} -p ${reg_passwd}
|
|
docker build -t 172.16.102.3:30648/maimai/${service_name}:${result} .
|
|
docker push 172.16.102.3:30648/maimai/${service_name}:${result}
|
|
'''
|
|
} catch(err) {
|
|
exit 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stage('master build only') {
|
|
when {
|
|
expression {ref ==~ 'refs/tags/prod-.*' }
|
|
}
|
|
steps {
|
|
script {
|
|
try {
|
|
sh '''
|
|
docker login http://172.16.102.3:30648 -u ${reg_username} -p ${reg_passwd}
|
|
docker build -t 172.16.102.3:30648/maimai/${service_name}:${result} .
|
|
docker push 172.16.102.3:30648/maimai/${service_name}:${result}
|
|
'''
|
|
} catch(err) {
|
|
exit 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
environment {
|
|
reg_username = 'maimai'
|
|
reg_passwd = 'M9hUQk4Ti0l0lHZi'
|
|
service_name = 'xj-irrigation-model'
|
|
result = sh(script: """echo $ref | awk -F"/" '{print \$NF}'""", returnStdout: true).trim()
|
|
git_commit_msg = sh (script: 'git log -1 --pretty=%B ${GIT_COMMIT}', returnStdout: true).trim()
|
|
git_commit_user = sh (script: 'git show -s --pretty=%an', returnStdout: true).trim()
|
|
}
|
|
post {
|
|
success {
|
|
sh """curl --location --request POST 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=d31913db-bb53-4081-9e2d-f707111dbee1' \
|
|
--data-raw '{\"msgtype\":\"text\",\"text\":{\"content\":\"成功: [${env.JOB_NAME} [${env.BUILD_NUMBER}]](${git_commit_msg}) @${git_commit_user}\"}}'"""
|
|
}
|
|
failure {
|
|
sh """curl --location --request POST 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=d31913db-bb53-4081-9e2d-f707111dbee1' \
|
|
--data-raw '{\"msgtype\":\"text\",\"text\":{\"content\":\"失败: [${env.JOB_NAME} [${env.BUILD_NUMBER}]](${git_commit_msg}) @${git_commit_user}\"}}'"""
|
|
}
|
|
}
|
|
triggers {
|
|
GenericTrigger(
|
|
genericVariables: [[key: 'ref', value: '$.ref']],
|
|
causeString: 'Triggered on $ref',
|
|
token: 'xj-irrigation-model',
|
|
printContributedVariables: true,
|
|
printPostContent: true,
|
|
silentResponse: false,
|
|
regexpFilterText: '$ref/'+BRANCH_NAME,
|
|
regexpFilterExpression: '(^refs/heads/develop/develop$)|(^refs/tags/test-.*/test$)|(^refs/tags/prod-.*/master$)'
|
|
)
|
|
}
|
|
} |