1.1 前端发布
pipeline {
agent any
environment {
DINGDING_ROBOT_URL = 'https://oapi.dingtalk.com/robot/send?access_token='
BRANCH="master3.3"
BUILD_USER_ID = ""
BUILD_USER = ""
BUILD_USER_EMAIL = ""
ChangeLog = ""
}
stages {
//拉取代码
stage('checkout') {
steps {
checkout([$class: 'GitSCM', branches: [[name: '*/masterv3.3']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'http:ESL-.git']]])
}
}
//构建
stage('BUILD') {
steps {
sh 'npm run build'
}
}
//部署
stage('Deploy') {
steps {
sshPublisher(publishers: [sshPublisherDesc(configName: '华东()', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/etc/nginx/html/build/', remoteDirectorySDF: false, removePrefix: '', sourceFiles: 'dist/**')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
}
}
}
// stages 所有任务执行后触发post
post {
//构建失败通知
failure {
script {
dingtalk (
robot: '31ca2fb0-964a--81dd-edf521f78446',
type: 'MARKDOWN',
title: "项目构建信息",
text: [
'### 项目构建信息',
">- job名称: **${JOB_NAME}**",
">- 持续时间: **${currentBuild.durationString}**",
">- 当前分支: **${env.BRANCH}**",
">- 构建发起: **${BUILD_USER}**",
">- 构建结果: **构建失败❌*",
">- 构建日志: [点击查看详情](${env.BUILD_URL}console)",
// ">- 更新记录: **${ChangeLog}**",
],
at: [
'所有人'
]
)
}
}
//构建成功通知
success {
wrap([$class: 'BuildUser']) {
script {
BUILD_USER_ID = "${env.BUILD_USER_ID}"
BUILD_USER = "${env.BUILD_USER}"
BUILD_USER_EMAIL = "${env.BUILD_USER_EMAIL}"
ChangeLog = "${env.ChangeLog}"
}
}
dingtalk (
robot: '31ca2fb0--468f-81dd-edf521f78446',
type: 'MARKDOWN',
title: "项目构建信息",
text: [
'### 项目构建信息',
">- job名称: **${JOB_NAME}**",
">- 持续时间: **${currentBuild.durationString}**",
">- 当前分支: **${env.BRANCH}**",
">- 构建发起: **${BUILD_USER}**",
">- 构建结果: **构建成功 ✅**",
">- 构建日志: [点击查看详情](${env.BUILD_URL}console)",
// ">- 更新记录: **${ChangeLog}**",
],
at: [
'所有人'
]
)
}
}
}
1.2 后端发布
pipeline {
agent any
environment {
DINGDING_ROBOT_URL = 'https://oapi.dingtalk.com/robot/send?access_token='
BRANCH="master3.3"
BUILD_USER_ID = ""
BUILD_USER = ""
BUILD_USER_EMAIL = ""
ChangeLog = ""
}
stages {
stage('checkout') {
steps {
checkout([$class: 'GitSCM', branches: [[name: '*/dev_3.3']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'http:///esl_backend/.git']]])
}
}
//构建
stage('Build') {
steps {
withMaven(jdk: 'jdk', maven: 'maven') {
sh 'mvn clean package -DskipTests'
}
}
}
//同步jar包到服务器 start
stage('Push package') {
steps {
sshPublisher(publishers: [sshPublisherDesc(configName: '华东()', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '/usr/local/esl/start.sh', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/usr/local/esl', remoteDirectorySDF: false, removePrefix: 'target', sourceFiles: 'target/*')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
}
}
}
post {
//构建失败通知
failure {
script {
dingtalk (
robot: '31ca2fb0-964a-468f-81dd-edf521f78446',
type: 'MARKDOWN',
title: "项目构建信息",
text: [
'### 项目构建信息',
">- job名称: **${JOB_NAME}**",
">- 持续时间: **${currentBuild.durationString}**",
">- 当前分支: **${env.BRANCH}**",
">- 构建发起: **${BUILD_USER}**",
">- 构建结果: **构建失败❌*",
">- 构建日志: [点击查看详情](${env.BUILD_URL}console)",
// ">- 更新记录: **${ChangeLog}**",
],
at: [
'所有人'
]
)
}
}
//构建成功通知
success {
wrap([$class: 'BuildUser']) {
script {
BUILD_USER_ID = "${env.BUILD_USER_ID}"
BUILD_USER = "${env.BUILD_USER}"
BUILD_USER_EMAIL = "${env.BUILD_USER_EMAIL}"
ChangeLog = "${env.ChangeLog}"
}
}
dingtalk (
robot: '31ca2fb0-964a-468f-81dd-edf521f78446',
type: 'MARKDOWN',
title: "项目构建信息",
text: [
'### 项目构建信息',
">- job名称: **${JOB_NAME}**",
">- 持续时间: **${currentBuild.durationString}**",
">- 当前分支: **${env.BRANCH}**",
">- 构建发起: **${BUILD_USER}**",
">- 构建结果: **构建成功 ✅**",
">- 构建日志: [点击查看详情](${env.BUILD_URL}console)",
// ">- 更新记录: **${ChangeLog}**",
],
at: [
'所有人'
]
)
}
}
}