我正在尝试在我的系统中运行以下设置
我公司希望以下列格式
开始跟踪nodejs应用中的版本更改 x.x.x.BUILD_NUMBER
或x.x.x+BUILD_NUMBER
据我所知,生成前三位可以通过运行像npm release patch
这样简单的东西来处理node.js,但我该如何开始跟踪构建号?构建号仅在提交完成后生成,并且应用程序在jenkins中运行。
我正在考虑两种方法 - 两者似乎都有其自身的缺点。想知道是否有更好的方法来解决这个问题。
在我的package.json
文件中 - 同时跟踪内部版本号,如下所示
{ “版本”:“0.7.10”, “build”:“1” }
在每个git commit
上 - 添加一个提交后挂钩来提升内部版本号。在这种情况下,Jenkins没有进行任何版本跟踪。 jenkins生成的递增构建号是否有可能偏离node.js跟踪的构建号?
一旦构建运行并由Jenkins生成 - 在成功/失败后运行脚本以在package.json
文件中包含构建号。提交并推送到git repo - 这将意味着对repo进行不必要的额外提交。
除此之外,还有一种更简单的方法可以在这样的设置中开始跟踪内部版本号吗?
答案 0 :(得分:0)
我认为没有一个最佳解决方案可以完全满足您的要求。而不是将构建号放在源代码控制中,也许你可以1)永远保留jenkins构建,因为那里有构建号的记录,你也可以记录应用程序的xxx版本,或2)你可以包含构建构建生成的工件中的数字(如果您推送到artifactory或nexus或docker注册表或其他东西)。
如果你必须在源代码管理中拥有构建号,你可能想要进行构建后提交,但是,就像你说的那样,这将导致每个构建的额外提交,并且,默认情况下,这些提交将反过来导致构建。然后你会想要抑制这些提交的构建,所以这是用这种方法解决的另一个问题。