之前都是用jenkins构建Maven项目,新研究了下用流水线构建maven项目,坑还是有的,现在记录下,必须隐去敏感信息
我们用参数化构建项目,所以在jenkins构建增加参数,我就增加一个version_number 版本号的参数
然后就是处理SVN,这个地方卡了好久,网上都是git的搞法,搜了半天终于找到了 这地方有个 流水线语法 点进去
这里选这个 ,上面有好多的选项 ,可以研究下 ,然后点击下面的
生成流水线脚本 把生成那一坨 复制出来 ,下面的pipeline会用
重点来了 ,流水线脚本
pipeline {
agent any
// 这个地方也是坑,不写这个打包总是失败,maven版本不对
tools {
maven 'maven'
jdk 'openjdk11'
}
stages {
stage('代码检出') {
//这个地方就是刚才那个生成的SVN那一坨
steps {
checkout([$class: 'SubversionSCM', additionalCredentials: [], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[cancelProcessOnExternalsFail: true, credentialsId: '认证UUID', depthOption: 'infinity', ignoreExternalsOption: true, local: '.', remote: '远程SVN地址']], quietOperation: true, workspaceUpdater: [$class: 'UpdateUpdater']])
}
}
stage('编译构建') {
steps {
echo 'Building'
// 这个地方就是拉版本号,打包
sh 'svn up -r ${version_number}'
sh 'mvn clean package'
}
}
stage('部署发布') {
steps {
// 这地方就是执行shell脚本发布到服务器上
sh 'scp到服务器'
sh "执行脚本启动服务"
}
}
}
}