我有一个启动执行器的
Spring Boot Web应用程序.当我打开< app_url> / 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时间戳Build_Number
存储包的构建信息的一般共识是什么?我不想将它存储在application.yml中,因为它是由Puppet管理的,并且是应用程序之战的外部.我希望它由Jenkins生成一些文件,Spring Boot可以从该文件中获取它.我应该让Jenkins写入由spring-boot-gradle-plugin buildInfo生成的build-info.properties吗?或者Gradle本身在生成文件时是否应该生成版本? Gradle如何知道MAJOR.MINOR.PATCH的详细信息?我已经没有关于如何将所有这些整合在一起的想法.
最佳答案 有点晚了,但这就是我做的事情(似乎工作).
springBoot {
buildInfo {
additionalProperties = [
"version" : System.properties["version"] != null ? System.properties["version"] : "unspecified"
]
}
}
然后在我的jenkins管道中
./gradlew clean build -Dversion=${MAJOR}.${MINOR}.${PATCH}
然后输出jar将具有build-info.properties
build.version=1.0.1