然后去钉钉添加机器人
复制下来
jshttps://oapi.dingtalk.com/robot/send?access_token=f1888f239560668660d65047a4c8079ceba05e96c07c6a3f7686f6875b602839
然后去gitlab仓库的jenkins文件添加代码
jspipeline {
agent any
stages {
stage('1.拉取git仓库代码') {
steps {
checkout scmGit(branches: [[name: '${tag}']], extensions: [], userRemoteConfigs: [[credentialsId: '41ccb3f5-d95e-4f7c-94cd-8af30c885e0d', url: 'http://192.168.201.105:8929/root/mytest1.git']])
}
}
stage('2.通过Maven构建项目') {
steps {
sh '/var/jenkins_home/maven/bin/mvn clean package -DskipTests'
}
}
stage('3.质量代码检测') {
steps {
sh '/var/jenkins_home/sonar-scanner-4.8.0.2856-linux/bin/sonar-scanner -Dsonar.sources=./ -Dsonar.projectname=${JOB_NAME} -Dsonar.projectKey=${JOB_NAME} -Dsonar.java.binaries=./target/ -Dsonar.login=178e1842a7318cabd37749b7f2f5a5b88a5fb997'
}
}
stage('4.Docker制作镜像') {
steps {
sh '''cp -rf ./target/*.jar ./docker/
docker build -t ${JOB_NAME}:${tag} ./docker/'''
}
}
stage('5.自定义镜像推送Harbor') {
steps {
sh '''docker login 192.168.201.107:80 -u admin -p 123456
docker tag ${JOB_NAME}:${tag} 192.168.201.107:80/${JOB_NAME}/${JOB_NAME}:${tag}
docker push 192.168.201.107:80/${JOB_NAME}/${JOB_NAME}:${tag}'''
}
}
stage('6.通知目标服务器拉取镜像启动') {
steps {
sshPublisher(publishers: [sshPublisherDesc(configName: '测试本机服务器', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: "jiaoben.sh 192.168.201.107:80 mytest1test ${JOB_NAME} $tag $host_port $port", execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
}
}
}
post {
success {
dingtalk (
robot: 'jenkins-dingding',
type: 'MARKDOWN',
title: "构建成功: ${env.JOB_NAME}",
text: [
"### 项目: ${env.JOB_NAME}",
"### 版本: ${tag}",
"### 构建结果: SUCCESS",
"### 持续时间: ${currentBuild.durationString}"
],
at: []
)
}
failure {
dingtalk (
robot: 'jenkins-dingding',
type: 'MARKDOWN',
title: "构建失败: ${env.JOB_NAME}",
text: [
"### 项目: ${env.JOB_NAME}",
"### 版本: ${tag}",
"### 构建结果: FAILURE",
"### 持续时间: ${currentBuild.durationString}",
"**失败原因:**",
"${currentBuild.currentResult}"
],
atAll: true
)
}
}
}
执行完成Jenkins流水线任务后,成功通知钉钉机器人
本文作者:松轩(^U^)
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!