2018-11-05 11:32:43 +08:00
|
|
|
|
node {
|
2018-11-07 10:41:44 +08:00
|
|
|
|
def mailto="601470458@qq.com,505127606@qq.com,154707516@qq.com,444949396@qq.com,714943302@qq.com" //邮件接收人员列表
|
|
|
|
|
|
def containerName="adminapi" //容器名称
|
|
|
|
|
|
def imageName="130.120.3.193/com.gzzn.omms/admin-api:0.0.1-SNAPSHOT" //镜像名称
|
|
|
|
|
|
def credentialsId="e41b57a4-436a-4617-817c-9e3f25a8a47f" //ssh证书id
|
|
|
|
|
|
def deployHost="130.120.3.231" //发布到的主机
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
checkout scm
|
|
|
|
|
|
docker.image('maven:3-alpine').inside('-v /root/.m2:/root/.m2') {
|
|
|
|
|
|
stage('build'){
|
|
|
|
|
|
sh 'mvn clean package dockerfile:build dockerfile:push -Dmaven.test.skip=true'
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
stage('deploy'){
|
|
|
|
|
|
def remote = [:]
|
|
|
|
|
|
remote.name = "airport-dev"
|
|
|
|
|
|
remote.host = "${deployHost}"
|
|
|
|
|
|
remote.allowAnyHosts = true
|
|
|
|
|
|
|
|
|
|
|
|
withCredentials([sshUserPrivateKey(credentialsId: ${credentialsId}, keyFileVariable: 'kfIdentity', passphraseVariable: 'pVariable', usernameVariable: 'userName')]) {
|
|
|
|
|
|
remote.user = userName
|
|
|
|
|
|
remote.identityFile = kfIdentity
|
|
|
|
|
|
|
|
|
|
|
|
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']]
|
|
|
|
|
|
)
|
2018-11-05 11:32:43 +08:00
|
|
|
|
}
|
2018-11-07 10:41:44 +08:00
|
|
|
|
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
|
2018-11-05 11:32:43 +08:00
|
|
|
|
}
|