我有Jenkins CI管道,可以发布应用程序。此过程以人员触发应用程序的发布作业的方式工作。此作业通过gradle dependencies命令检查所有项目依赖项。对于所有依赖项,将自动触发快照释放作业。 发布作业只需升级lib / application版本并将其部署在artifactory中。
如何自动升级SNAPSHOT依赖版本以在gradle中发布版本?
我的build.gradle文件如下所示:
Properties versions = new Properties()
versions.load(new FileInputStream(rootProject.projectDir.path + "/version.properties"))
dependencies {
compile("projectA:${versions.projectAVersion}")
compile("projectB:${versions.projectBVersion}")
}
和version.properties文件
projectAVersion=1.1.0-SNAPSHOT
projectBVersion=1.1.0-SNAPSHOT
事实上,我正在寻找类似于maven版本插件的东西。
修改
实际上我只需要Gradle中的Maven版本插件(版本:use-releases和versions:use-next-releases)功能。
答案 0 :(得分:0)
我对你的问题不太清楚。我的理解是,您需要在每次构建后动态更新版本值。
您可以做的是获取属性值。删除-SNAPSHOT。每次构建后以增量更新1.1.0。如1.1.1,1.1.2等。
这可以通过
完成 task testing {
Properties props = new Properties()
//getting and loading the property file
//Give proper path to file
File propsFile = new File('version.properties')
props.load(propsFile.newDataInputStream())
//Now strip of -SNAPSHOT and get the last digit and increment it by 1
Integer rand = props.getProperty('lastDigit').toInteger()+1
String variable=rand.toString()
//Append -SNAPSHOT with 'variable and set the property
props.setProperty('version',variable)
props.store(propsFile.newWriter(), null)
}
如果我对你的问题的理解是正确的,那就行了。