node.js - 在非主分支上未通过语义发布生成自动更改日志
问题描述
在我的节点项目中 - 我正在尝试实现语义发布以生成变更日志形式的发布说明,增加项目版本号。
按照以下命令在项目中安装相同的内容:
npm i -D semantic-release@next @semantic-release/git@next @semantic-release/commit-analyzer@next @semantic-release/release-notes-generator@next @semantic-release/npm@next @semantic-release/changelog@next
这是package.json
文件中的配置:
"release": {
"branches": [
"qa"
],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
"@semantic-release/git"
]
}
但是,当我尝试运行时npx semantic-release --no-ci
,它会抛出这个:
此测试运行是在分支 qa 上触发的,而语义发布配置为仅从 master 发布,因此不会发布新版本。
整个堆栈跟踪是:
ℹ Running semantic-release version 15.14.0
✔ Loaded plugin "verifyConditions" from "@semantic-release/changelog"
✔ Loaded plugin "verifyConditions" from "@semantic-release/git"
✔ Loaded plugin "analyzeCommits" from "@semantic-release/commit-analyzer"
✔ Loaded plugin "generateNotes" from "@semantic-release/release-notes-generator"
✔ Loaded plugin "prepare" from "@semantic-release/changelog"
✔ Loaded plugin "prepare" from "@semantic-release/git"
ℹ This test run was triggered on the branch qa, while semantic-release is configured to only publish from master, therefore a new version won’t be published.
常规提交是在 QA 分支上完成的——我需要在 QA 分支上生成变更日志。
什么是正确的方法?
解决方案
我不是 100% 确定,但增强的分支定义是:
branches: [
{name: 'qa', prerelease: false}
]
由于使用--branch
标志时会生成更改日志,因此配置文件中的分支定义可能是错误的。
您可以尝试使用我建议的增强语句来配置分支。
推荐阅读
- c# - 如何在asp.net Core中的每次批量操作后发送进度成功消息
- javascript - javascript while循环问题,break不会停止循环
- java - 如何将 Java json 对象发送到 R 函数?
- reactjs - 在 React Query 中,如果我在组件中使用两个 mutate 函数,如何获取数据?
- json - JSON-Schema 有条件地向项目添加属性
- ios - 带有 .mov 的媒体文件不在 Cordova 应用程序中播放
- javascript - 基于数据属性的d3节点子结构/样式
- c# - 在 xaml 中从另一个项目添加 UserControl
- python - 模拟文件中导入的类的 __init__
- flutter - 什么是 ”?。” 颤振中的操作员