美文网首页软件自动化测试自动化测试
利用maven-git-commit-id-plugin实现版本

利用maven-git-commit-id-plugin实现版本

作者: antony已经被占用 | 来源:发表于2018-09-22 15:40 被阅读1次

    业务需求

    在一次关于devops平台的demo中,我们的运维同学提出一个需求,希望能够将发布的二进制文件和代码进行关联。当然,他们的希望是,能够点一下就能看到代码。(因为,在之前的版本发布规范中,版本包中是包含了代码的......)

    解决方案

    通过 maven-git-commit-id-plugin 可以提供如下的重要信息:
    git_url: 代码库网址
    git_branch: 本次构建的二进制包所构建时 对应的分支
    bit_commit: 本次构建的二进制包构建时对应的HEAD的commit id

    通过这三个信息,基本就可以实现上述的业务需求了。

    更进一步的解决方案

    在通过工具提供的demo配置实现上述需求后,又考虑是否可以通过提供restful接口的方式来对外提供查询服务。这样,运维同学甚至都不用通过打开jar/war包来查看上述了。
    笔者甚至在github上找到了这样一个demo
    mygitcommitidplanet
    思路是:
    1)把maven-git-commit-id-plugin运行所产生的git.properties文件的内容修改为json形式。
    2)通过“/version” 的接口对外提供查询服务。
    后续,甚至都可以通过这个接口来检查线上系统的版本和cmdb中版本的一致性,或者做系统的健康性巡检(ping)。果然只有想不到,没有做不到。

    接口示例:

    @RestController
    public class VersionController {
        @RequestMapping(value = "/version", method= GET)
        public String versionInformation() {
            return readGitProperties();
        }
    

    接口查询效果:


    version.png

    相关文章

      网友评论

        本文标题:利用maven-git-commit-id-plugin实现版本

        本文链接:https://www.haomeiwen.com/subject/zncxoftx.html