问题描述
问题要点–开发过程中,我们通过Jenkins中建立的管道生成了许多安装程序。管道使用git获取版本信息-这是最后一个标签,加上提交计数。版本标记是根据该季度的年,季度和发行版号设置的-例如,它看起来像2020.4.1的2020年(季度4)发行版的第4季度。Jenkins作业按每次推送提交运行到存储库-因此有许多安装程序。
对于面向用户的字符串,我们希望版本仅包含三个部分-<year>.<quarter>.<release>
。
但是,对于开发而言,了解有关我们正在使用的安装程序的详细信息很有用-因此,附上提交计数即可在这种情况下工作。但是,我们不希望在发行版本中使用此额外的数字。
我的问题是,我该如何平稳地结合开发和发布安装程序这两种情况?我们希望测试人员能够轻松地区分不同的安装程序,但是希望面向用户的字符串不包含该附加信息。我们正在从可执行文件中提取版本信息,但是如果需要,我们可以在其他地方重新创建版本字符串。
是否存在良好的行业标准,或解决此情况的更好方法?我们不反对改善构建流程–我们只是没有DevOps专家可以为我们解答这些问题。
感谢您提供建设性的反馈意见和/或资源,我们始终对此表示感谢。
解决方法
通常,您可以为可执行文件引入一个不同的选项:
-
-v
(--version
)仍然是您定义的用户正面版本 -
-b
(--build
)可以显示内部构建信息,例如git describe
返回的信息,以获得精确的Git SHA +最后一个Git标签。