我在项目存储库中有一个xml文件,在结帐后,我想为每个版本自动增加版本号的最后一个值。我已经在使用xmlslurper访问版本号并将其存储在变量中。我的管道脚本中有这样的内容,而我的xml文件只是一个单行脚本, 1.0.0.0 我想为每个版本自动增加最后一位数字。注意:我不想使用詹金斯的内部编号。只需将我的项目存储库中的最后一位更改为$ BUILD_NUMBER,就可以轻松实现。
@NonCPS
String getVersion(String path)
{
def version = new xmlSlurper().parse(new File(path))
return version.toString()
}
node
{
stage ('checkout') {
.........
}
stage ('build) {
def pwd2=pwd()
def v=getVersion("${pwd2}/VersionNumber.xml")
sh ' dotnet publish path/to/project -p:Fileversion=$v '
}
}
答案 0 :(得分:1)
没有用于此的插件,所以我想您可以使用groovy。如果您不喜欢内部编号,请尝试
def test = "1.1.1.1"
def splitted = test.split('\\.')
splitted[3] = (((splitted[3] as BigDecimal) + 1) as String)
def testInc = splitted.join('.')
print(testInc)
对于内部版本号方法,我建议将整个版本保留在jenkinsfile中,应该很简单:
def version = "1.0.0.${env.BUILD_NUMBER}"