java - Gradle 项目的简单版本控制

标签 java gradle versioning gitlab-ci

我有一个简单的 Java 项目,它使用 gradle 创建 JAR。该项目在 gitlab 存储库中集中管理,并使用 Gitlab CI 构建。如果某个分支中的每个提交都被视为“已发布”(即不是快照),我没问题。

大多数插件尝试做很多事情,但增加了很多复杂性和困惑。我只需要一些非常简单和干净的东西。我可以只使用 gradle.properties 来管理主要版本和次要版本,并使用 Gitlab 的 CI_PIPELINE_IID 作为“补丁”。如果可能的话,我也可以接受比这更简单的事情。

有人有可以轻松管理版本的示例项目吗?

最佳答案

我找到了一种将它们组合在一起的方法......

gradle.属性:

majorVersion=1
minorVersion=2

构建.gradle

..
version "${majorVersion}.${minorVersion}.${System.env.CI_PIPELINE_IID?:'dev'}"
..

我正在使用 Spring Boot,因此我只需执行 gradle bootJar 即可,并且版本正确的 JAR 会显示在 build/libs 中。如果构建是在 Gitlab CI 之外进行的,则 JAR 以 dev 结尾,而不是 CI_PIPELINE_IID 值。当然,CI_PIPELINE_IID 可以设置为开发计算机上的任何值。

关于java - Gradle 项目的简单版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52731489/

相关文章:

XSL 文件中的 Java setParameter

Android gradle排除模块不起作用

intellij-idea - 在Idea中使用Angular2 TypeScript开发Spring Boot应用程序:gradle process

path - Gradle Artifact依赖性-Artifactory Artifactory -如何找到路径

java - 将 getter 与 java 泛型方法参数一起使用

java - 如何从命令行运行 JavaFx 应用程序

Java媒体框架: how to get framerate from videostream

api - 当用户使用我的 RESTful API 的相同主要(但不同次要)版本时,如何管理资源更新?

java - 如何查看 Eclipse 内置插件的特定版本

linux - apt-get 如何比较两个不同版本方案