完善邮件发送及灵活定位参数

This commit is contained in:
zhouxiunai
2018-11-07 10:41:44 +08:00
parent 4d204b2ba9
commit a60a8363db
+59 -19
View File
@@ -1,25 +1,65 @@
node { node {
checkout scm def mailto="601470458@qq.com,505127606@qq.com,154707516@qq.com,444949396@qq.com,714943302@qq.com" //邮件接收人员列表
docker.image('maven:3-alpine').inside('-v /root/.m2:/root/.m2') { def containerName="adminapi" //容器名称
stage('build'){ def imageName="130.120.3.193/com.gzzn.omms/admin-api:0.0.1-SNAPSHOT" //镜像名称
sh 'mvn clean package dockerfile:build dockerfile:push -Dmaven.test.skip=true' def credentialsId="e41b57a4-436a-4617-817c-9e3f25a8a47f" //ssh证书id
} def deployHost="130.120.3.231" //发布到的主机
stage('deploy'){ try {
def remote = [:] checkout scm
remote.name = "airport-dev" docker.image('maven:3-alpine').inside('-v /root/.m2:/root/.m2') {
remote.host = "130.120.3.231" stage('build'){
remote.allowAnyHosts = true sh 'mvn clean package dockerfile:build dockerfile:push -Dmaven.test.skip=true'
}
withCredentials([sshUserPrivateKey(credentialsId: 'e41b57a4-436a-4617-817c-9e3f25a8a47f', keyFileVariable: 'kfIdentity', passphraseVariable: 'pVariable', usernameVariable: 'userName')]) { stage('deploy'){
remote.user = userName def remote = [:]
remote.identityFile = kfIdentity remote.name = "airport-dev"
remote.host = "${deployHost}"
remote.allowAnyHosts = true
sshCommand remote: remote, command: "docker stop adminapi",sudo: true ,failOnError: false withCredentials([sshUserPrivateKey(credentialsId: ${credentialsId}, keyFileVariable: 'kfIdentity', passphraseVariable: 'pVariable', usernameVariable: 'userName')]) {
sshCommand remote: remote, command: "docker rm adminapi",sudo: true ,failOnError: false remote.user = userName
sshCommand remote: remote, command: "docker rmi 130.120.3.193/com.gzzn.omms/admin-api:0.0.1-SNAPSHOT",sudo: true ,failOnError: false remote.identityFile = kfIdentity
sshCommand remote: remote, command: "docker run -d -p 92:8080 --name adminapi 130.120.3.193/com.gzzn.omms/admin-api:0.0.1-SNAPSHOT",sudo: true
} sshCommand remote: remote, command: "docker stop ${containerName}",sudo: true ,failOnError: false
} sshCommand remote: remote, command: "docker rm ${containerName}",sudo: true ,failOnError: false
sshCommand remote: remote, command: "docker rmi ${imageName}",sudo: true ,failOnError: false
sshCommand remote: remote, command: "docker run -d -p 92:8080 --name ${containerName} ${imageName}",sudo: true
}
}
}//end docker
//发送成功邮件
emailext (
subject: "'${env.JOB_NAME} [${env.BUILD_NUMBER}]' 更新正常",
body: """
详情:
SUCCESSFUL: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'
状态:${env.JOB_NAME} jenkins 更新运行正常
URL ${env.BUILD_URL}
项目名称 ${env.JOB_NAME}
项目更新进度:${env.BUILD_NUMBER}
""",
to: "${mailto}",
recipientProviders: [[$class: 'DevelopersRecipientProvider']]
)
} }
catch(e)
{
emailext (
subject: "'${env.JOB_NAME} [${env.BUILD_NUMBER}]' 更新失败",
body: """
详情:
FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'
状态:${env.JOB_NAME} jenkins 运行失败
URL ${env.BUILD_URL}
项目名称 ${env.JOB_NAME}
项目更新进度:${env.BUILD_NUMBER}
""",
to: "${mailto}",
recipientProviders: [[$class: 'DevelopersRecipientProvider']]
)
throw e
}//end catch
} }