问题标签 [semantic-release]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - NX Monorepo 和 Azure DevOps 的项目发布
我们将 5 个 Angular 项目迁移到 NX Monorepo 中,对于 CI/CD,我们使用 Azure DevOps。
在切换到 monorepo 之前,我们使用语义发布,但现在这种方法不再那么好,因为当时只有一个版本,并且 monorepo 中的项目被视为统一。
明显的缺点是我们将失去对每个项目版本的可见性。
这似乎仍然是monorepos的一个热门问题:
- 从 order-service 1.4 和 auth-service 1.4 开始
- 提交只影响订单服务的事情
- 构建(影响 nx:构建)订单服务 1.5
- 提交仅影响 auth-service 的内容
- 构建(影响 nx:构建) auth-service 1.6
为了解决这种缺乏粒度信息的问题,我可能会考虑在项目级别实现自定义版本控制,尽管我不是非常喜欢它。
是否有任何可能的替代方法来获取 monorepo 解决方案中单个项目的更详细的版本详细信息?
git - 如何授予语义释放权限以将代码推送到 master
我semantic-release
用来自动定义下一个版本,更新package.json
并推送到git
. 但是,我面临一个问题,它阻止我直接推送到master。
我正在使用GitLab。
我的release.config.js
我的gitlab-ci.yml
错误:
但我实际上是 repo 的所有者,并且已经将master的推送权限设置为唯一所有者。我是否需要为脚本配置任何其他身份验证才能代表我运行?
所以我的问题是:
1/ 如何为语义发布设置身份验证,以便它可以代表您直接推送到主控
2/直接推送到master是一个好习惯(即使它只用于版本更新)。有没有人遇到过这种情况以及更新版本的解决方案是什么。非常感谢您的意见和想法。
semantic-versioning - [major].[minor].[patch] 的最大数量
对于@semantic-release,[major].[minor].[patch],major、minor、patch 的最大数量是多少?即999.999.999?
yarnpkg - `yarn semantic-release-cli setup` 失败,来自 github 授权 API 的 404
运行此命令
并给出这些答案
因此错误而失败(为便于阅读而进行了修剪),迫使我重复调查问卷以重试。
git - 语义发布无法增加版本
如果从分支到主节点的合并有任何变化,我们需要语义发布来分析提交消息并增加发布版本。我们正在使用 Bitbucket scm。我们如何从分支合并到主控的过程,开发人员创建拉取请求,然后审阅者将进行审阅。如果一切正常,审阅者将选择squash commit并单击合并。我尝试mergePattern
在默认规则之上设置包含壁球提交标头。但是,语义释放似乎仍然忽略了壁球提交。
包.json
来自 npx semantic-release --no-ci --debug 的输出
continuous-integration - 无法为 GitHub 操作运行语义发布 cli 设置
npx semantic-release-cli
使用 GitHub Actions 为我的公共存储库https://github.com/henrycity/movie-browser-frontend运行设置时,出现此错误
我试图在https://github.com/semantic-release/cli/blob/master/src/lib/ci.js中记录信息对象。我注意到info.github.endpoint
is undefined
,这会导致错误。
版本:5.4.1
我想知道是什么导致了错误。
bitbucket-cloud - 避免在 Bitbucket Cloud 上进行第二次语义发布提交
我正在使用 Bitbucket Cloud,并且使用管道可以很好地工作,除了在发布/标记提交后我总是得到一个额外的提交,如下所示:
Notes added by 'git notes add'
- 作者:semantic-release-bot
有没有办法避免这种情况?
这是我的配置:
git - Gitlab-CI 中存在已删除的标签
我正在使用语义发布进行版本控制。每当我将某些东西推送到我的分支时,CI (Gitlab) 都会执行语义发布。我的问题是我推送到我的 git 分支,语义发布创建了一个版本并创建了标签(例如 1.0.0)。最后,我发现我错过了对这次提交很重要的一些东西。所以我删除了 Gitlab 中的标签(Repository > Tags,例如https://gitlab.com/user/project/-/tags),最后再次推送我的提交。但是现在,semantic-release 告诉我标签已经存在,但 Gitlab 不再显示任何标签(我删除了所有标签)。现在我决定将以下行添加到我的 CI:
git show-ref --tags -d
这显示了我已经在 Gitlab 中删除的所有标签,但它们似乎存在于我的 CI 中。所以我很困惑这里发生了什么......有什么想法吗?我的 CI 中是否需要“同步标签”之类的东西?
git - 使用不带 v 的语义发布生成版本标签
如何使用格式为major的 git 标签。未成年人。patch,开头没有“ v ”(即版本 1.0.1、2.0.1)?
我正在使用 Gitlab CI,但即使在本地使用 Docker 映像,我也无法将值正确传递给标记格式。
我正在尝试做的事情:
npx --no-install semantic-release --tag-format "\${version}"
错误日志:
[8:42:06 PM] [语义发布] › ✖ ETAGNOVERSION
tagFormat
选项无效。tagFormat ( https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#tagformat ) 选项必须只包含一次变量版本。您对 tagFormat 选项的配置是 ``。
[8:42:06 PM] [语义发布] › ✖ EINVALIDTAGFORMAT
tagFormat
选项无效。tagFormat ( https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#tagformat ) 必须编译为有效的 Git 引用 ( https://git-scm.com /docs/git-check-ref-format#_description)。您对 tagFormat 选项的配置是 ``。
AggregateError:SemanticReleaseError:无效
tagFormat
选项。在 module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/lib/get-error.js:6:10) 在 module.exports (/ usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/lib/verify.js:22:17)在异步运行(/usr/local/lib/nodejs/node -v12.16.1-linux-x64/lib/node_modules/semantic-release/index.js:53:3) 在 async module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/ lib/node_modules/semantic-release/index.js:259:22) 在 async module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/cli .js:55:5) SemanticReleaseError: 无效tagFormat
选项。在 module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/lib/get-error.js:6:10) 在 module.exports (/ usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/lib/verify.js:29:17)在异步运行(/usr/local/lib/nodejs/node -v12.16.1-linux-x64/lib/node_modules/semantic-release/index.js:53:3) 在 async module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/ lib/node_modules/semantic-release/index.js:259:22) 在 async module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/cli .js:55:5) 在 module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/lib/verify.js:41:11) 在异步运行时的 processTicksAndRejections (internal/process/task_queues.js:97:5) (/usr/local/lib/nodejs/node-v12.16. 1-linux-x64/lib/node_modules/semantic-release/index.js:53:3) 在 async module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules /semantic-release/index.js:259:22) 在 async module.exports (/usr/local/lib/nodejs/node-v12.16.1-linux-x64/lib/node_modules/semantic-release/cli.js: 55:5){名称:'AggregateError'}npm ERR!代码 1
当它说tagFormat 选项是 ``时,就好像${version}被空白空间替换......