整体流程
- jenkins服务器配置git密钥对
- 公钥复制到gitlab
- 新增jenkins私钥凭据
- 创建pipeline工程
- 创建对应的工程参数(需要插件git-parameter,多分支)
- pipeline script脚本
1-4 忽略,比较简单
工程参数
脚本
pipeline {
agent any
parameters {
gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'BRANCH', type: 'PT_BRANCH'
}
stages {
stage('Checkout') {
steps {
echo '开始拉取代码.....'
git branch: "${params.BRANCH}", credentialsId: '72e4072e-7bef-495f-a67f-f5462df2f093', url: 'git@gitee.com:elonzhang/pontus.git'
}
}
stage('Build') {
steps {
echo '开始执行打包操作.......'
sh 'mvn -P\$ENV clean package -U'
}
}
stage('Deploy') {
steps {
script {
withEnv(['JENKINS_NODE_COOKIE=background_job']) {
sh '''
cd /home/services/
./deploy.sh stop
rm -rf pontus-open.jar
mv /root/.jenkins/workspace/pontus-pipeline/pontus-open/target/pontus-open.jar /home/services/
./deploy.sh start
'''
echo '部署成功'
}
}
}
}
}
}
最终效果
需要首先执行一次默认构建,才能获取分支信息