跟踪构建号以及程序中的版本

时间:2017-08-26 10:33:51

标签: node.js git jenkins

我正在尝试在我的系统中运行以下设置

  1. node.js app
  2. 詹金斯管道
  3. 我公司希望以下列格式

    开始跟踪nodejs应用中的版本更改

    x.x.x.BUILD_NUMBERx.x.x+BUILD_NUMBER

    据我所知,生成前三位可以通过运行像npm release patch这样简单的东西来处理node.js,但我该如何开始跟踪构建号?构建号仅在提交完成后生成,并且应用程序在jenkins中运行。

    我正在考虑两种方法 - 两者似乎都有其自身的缺点。想知道是否有更好的方法来解决这个问题。

    1. 在我的package.json文件中 - 同时跟踪内部版本号,如下所示

      {   “版本”:“0.7.10”,   “build”:“1” }

      在每个git commit上 - 添加一个提交后挂钩来提升内部版本号。在这种情况下,Jenkins没有进行任何版本跟踪。 jenkins生成的递增构建号是否有可能偏离node.js跟踪的构建号?

    2. 一旦构建运行并由Jenkins生成 - 在成功/失败后运行脚本以在package.json文件中包含构建号。提交并推送到git repo - 这将意味着对repo进行不必要的额外提交。

    3. 除此之外,还有一种更简单的方法可以在这样的设置中开始跟踪内部版本号吗?

1 个答案:

答案 0 :(得分:0)

我认为没有一个最佳解决方案可以完全满足您的要求。而不是将构建号放在源代码控制中,也许你可以1)永远保留jenkins构建,因为那里有构建号的记录,你也可以记录应用程序的xxx版本,或2)你可以包含构建构建生成的工件中的数字(如果您推送到artifactory或nexus或docker注册表或其他东西)。

如果你必须在源代码管理中拥有构建号,你可能想要进行构建后提交,但是,就像你说的那样,这将导致每个构建的额外提交,并且,默认情况下,这些提交将反过来导致构建。然后你会想要抑制这些提交的构建,所以这是用这种方法解决的另一个问题。