【发布时间】:2018-07-30 04:48:48
【问题描述】:
我需要在项目 Web 层中显示 Jenkins 构建号和构建时间,因此我注意到我的应用程序中存在一些问题。
【问题讨论】:
标签: java maven spring-mvc spring-boot jenkins
我需要在项目 Web 层中显示 Jenkins 构建号和构建时间,因此我注意到我的应用程序中存在一些问题。
【问题讨论】:
标签: java maven spring-mvc spring-boot jenkins
然后采用这种方法,我使用 buildnumber-maven-plugin 将构建、版本和其他所需信息写入 build-numebr 属性文件并将其传递给 UI。
下面是需要添加到拉取信息的pom和restcontroller的代码。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>create</goal>
<goal>create-metadata</goal>
</goals>
</execution>
</executions>
<configuration>
<outputDirectory>./src/main/resources</outputDirectory>
<outputName>buildNumber.properties</outputName>
<addOutputDirectoryToResources>true</addOutputDirectoryToResources>
<timestampPropertyName>buildDatetime</timestampPropertyName>
<doCheck>true</doCheck>
<doUpdate>true</doUpdate>
<timestampFormat>MM/dd/yyyy HH:mm:ss</timestampFormat>
<format>{0}</format>
<properties>
<buildNumber>${buildNumber}</buildNumber>
</properties>
<revisionOnScmFailure>true</revisionOnScmFailure>
</configuration>
</plugin>
@RestController
@Configuration
@PropertySource(value = "classpath:buildNumber.properties")
public class VersionProfiler extends AbstractController {
@Value("${version}")
private String ver;
@RequestMapping(value="/version", method = RequestMethod.GET)
public String getVersion(){
return ver;
}
}
【讨论】: