Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Spring Boot、Gradle、语义版本控制和Jenkins生成应用程序版本_Gradle_Spring Boot_Semantic Versioning_Spring Boot Actuator_Spring Boot Gradle Plugin - Fatal编程技术网

如何使用Spring Boot、Gradle、语义版本控制和Jenkins生成应用程序版本

如何使用Spring Boot、Gradle、语义版本控制和Jenkins生成应用程序版本,gradle,spring-boot,semantic-versioning,spring-boot-actuator,spring-boot-gradle-plugin,Gradle,Spring Boot,Semantic Versioning,Spring Boot Actuator,Spring Boot Gradle Plugin,我有一个Spring Boot web应用程序,启用了执行器。当我打开/info时,我看到了下面的内容 { "git": { "commit": { "time": "2016-08-31T17:53:28.000+0000", "id": "0a52a2f" }, "branch": "master" }, "build": { "version": "uns

我有一个Spring Boot web应用程序,启用了执行器。当我打开
/info
时,我看到了下面的内容

{
    "git": {
        "commit": {
            "time": "2016-08-31T17:53:28.000+0000",
            "id": "0a52a2f"
        },
        "branch": "master"
    },
    "build": {
        "version": "unspecified",
        "artifact": "my-app",
        "name": "my-app",
        "group": "",
        "time": "2016-09-02T21:09:42.000+0000"
    }
}
我不知道如何在这里生成版本号。我想使用语义版本控制
MAJOR.MINOR.PATCH+timestamp+Build\u Number


w.r.t存储包的构建信息的普遍共识是什么?我不想将它存储在
application.yml
中,因为它是由Puppet管理的,并且不属于应用程序战争。我希望它是由Jenkins生成到某个文件中,Spring Boot可以从该文件中获取它。我是否应该让Jenkins写入由spring boot gradle插件生成的
buildInfo.properties
?或者,当Gradle生成文件时,该版本应该由Gradle自己生成吗?Gradle如何知道
MAJOR.MINOR.PATCH
详细信息?关于如何将所有这些整合在一起,我已经没有什么想法了

有点晚了,但我就是这样做的(似乎有效)

然后在我的詹金斯管道里

./gradlew clean build -Dversion=${MAJOR}.${MINOR}.${PATCH}
然后,输出jar将具有build-info.properties

build.version=1.0.1
build.version=1.0.1