我们只是将所有MVN作业迁移到multibranch Pipeline作业。
原始Maven命令是干净部署-P integration-tests deploy -DupdateReleaseInfo = true
我们使用 updateReleaseInfo 标志来确保更新metadat.xml。
一旦我们迁移到PIPELINE,我们运行相同的命令,但看起来像 updateReleaseInfo 标志没有影响,并且metadata.xml没有更新。
<latest>1.156</latest>
<release>2.1</release>
再次运行原始Maven作业后,神器中的元数据更新为
<latest>2.1</latest>
<release>2.1</release>
我们使用Jenkins 2.46.3 Maven Integration插件3.0 Maven版本3.3.9
对此问题的任何想法?
这是我的代码
stage('Deploy') {
when {
anyOf { branch 'master' }
}
steps {
mavenTask tasks: 'clean deploy -DupdateReleaseInfo=true', localRepo: 'true'
}
}
和共享库中的maven任务
def call(Map map = [:]) {
def params = [
tasks : '',
localRepo : ''
] << map
def tasks = params.tasks
def localRepo = params.localRepo
if (localRepo == 'true') {
mvnLocalRepo = '-Dmaven.repo.local=$WORKSPACE/.repository'
} else {
mvnLocalRepo = ''
}
configFileProvider(
[configFile(fileId: '11111-22222-33333', targetLocation: './settings.xml')]) {
sh "mvn -s $WORKSPACE/settings.xml $mvnLocalRepo $tasks "
}
}