我有一个简单的Java项目,用GADLE创建一个JAR。该项目在gitlab repo中集中管理,并使用gitlab ci构建。如果某个分支中的每个提交都被视为“已发布”(即不是快照),我就没事了。
大多数插件都会尝试做很多事情,增加很多复杂性和混乱。我只需要简单干净的东西。我可以使用gradle.properties来管理主要和次要版本,并使用gitlab的ci_pipeline_iid作为“补丁”。如果可能的话,我也可以做一些比这更简单的事情。
有谁有一个可以轻松管理版本的示例项目吗?
我找到了一种方法把这一切结合起来…
等级属性:
majorVersion=1 minorVersion=2
build.gradle公司
.. version "${majorVersion}.${minorVersion}.${System.env.CI_PIPELINE_IID?:'dev'}" ..
我用的是弹簧靴,所以我可以 gradle bootJar 一个版本正确的jar出现在 build/libs . 如果构建在gitlab ci之外,那么jar将以 dev 而不是 CI_PIPELINE_IID 价值。当然,ci_pipeline_iid可以设置为dev机器上的任何值。
gradle bootJar
build/libs
dev
CI_PIPELINE_IID