使用Travis发布仓库时如何自动增加Git版本号

4

我希望能够让Travis在我接受依赖机器人的更改时发布npm。我已添加了npm电子邮件和认证令牌。

目前我的travis配置是这样的(我不确定是否正确)

language: node_js
node_js:
  - "node"
install:
  - "npm install"
script:
  - "npm run test"
before_deploy: 

deploy:
  provider: npm
  email: "$npm_email"
  api_key: "$npm_token"
  on:
    branch: production

npm test看起来像这样

  "scripts": {
    "test": "jest"
 }

我该如何让Travis自动更新npm包版本并将该版本号同步到Git上?同时,如何让changelog.md也跟着更新?

1
通常情况下,标记是完成这项工作的方式,因为通常需要人类做出语义版本控制的决策。您愿意这样做吗?或者您想要完全自动化的解决方案? - bk2204
@bk2204 我不介意使用标记来完成它。 - Alwaysblue
@bk2204,你能帮我解决如何使用标记实现它吗? - Alwaysblue
2个回答

2
一个非常完整的解决方案是语义化发布

使用语义化发布时,您的提交消息需要遵循特定格式。然后配置travis管道来运行语义化发布,它会解析您的提交,生成更改日志、新版本号,并将更改作为新提交(用于更改日志)和新标签推送到您的存储库。

设置稍微有些复杂,但是您将拥有一个稳定的解决方案,可以确保您的版本号是有意义的。此外,您还可以自动获得“免费”的生成更改日志功能。

还有一篇travis的教程可供参考,帮助您进行设置。


0

设置依赖版本是手动运行时或编程语言任务,Travis 是 CI & CD 工具,你不应该使用 Travis 进行自动化。

您可能需要一个工具来检查包、依赖项,例如 Snyk,以检查漏洞或可升级的软件包。

无论如何,在您自己的风险下,您可以像这样在 before_install 中升级您的软件包:

language: node_js
node_js:
  - "node"
before_install:
  - "npm update <package name>"  ## change your package to update.
install:
  - "npm install"
script:
  - "npm run test"
before_deploy: 

deploy:
  provider: npm
  email: "$npm_email"
  api_key: "$npm_token"
  on:
    branch: production

我理解这个问题是关于它自己的版本号,而不是依赖项的版本。 - cfstras
他这样做了吗?如果是这样,我就浪费时间了:( ... 无论如何,他要求“增加我的npm包”而标题却说“增加git版本”。 - MikZuit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接