在Spring MVCproject中显示Jenkins构建号和其他构建信息

时间:2018-02-19 22:00:46

标签: java maven spring-mvc spring-boot jenkins

我需要在项目Web层中显示Jenkins构建号和构建时间,因此我注意到我的应用程序中存在一些问题。

1 个答案:

答案 0 :(得分:0)

而不是采用这种方法,我使用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;
    }
}