问题标签 [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.

0 投票
0 回答
267 浏览

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 解决方案中单个项目的更详细的版本详细信息?

0 投票
1 回答
2153 浏览

git - 如何授予语义释放权限以将代码推送到 master

semantic-release用来自动定义下一个版本,更新package.json并推送到git. 但是,我面临一个问题,它阻止我直接推送到master

我正在使用GitLab

我的release.config.js

我的gitlab-ci.yml

错误:

但我实际上是 repo 的所有者,并且已经将master的推送权限设置为唯一所有者。我是否需要为脚本配置任何其他身份验证才能代表我运行?

所以我的问题是:

1/ 如何为语义发布设置身份验证,以便它可以代表您直接推送到主控

2/直接推送到master是一个好习惯(即使它只用于版本更新)。有没有人遇到过这种情况以及更新版本的解决方案是什么。非常感谢您的意见和想法。

0 投票
0 回答
869 浏览

semantic-versioning - [major].[minor].[patch] 的最大数量

对于@semantic-release,[major].[minor].[patch],major、minor、patch 的最大数量是多少?即999.999.999?

0 投票
0 回答
99 浏览

yarnpkg - `yarn semantic-release-cli setup` 失败,来自 github 授权 API 的 404

运行此命令

并给出这些答案

因此错误而失败(为便于阅读而进行了修剪),迫使我重复调查问卷以重试。

0 投票
0 回答
543 浏览

git - 语义发布无法增加版本

如果从分支到主节点的合并有任何变化,我们需要语义发布来分析提交消息并增加发布版本。我们正在使用 Bitbucket scm。我们如何从分支合并到主控的过程,开发人员创建拉取请求,然后审阅者将进行审阅。如果一切正常,审阅者将选择squash commit并单击合并。我尝试mergePattern在默认规则之上设置包含壁球提交标头。但是,语义释放似乎仍然忽略了壁球提交。

包.json

来自 npx semantic-release --no-ci --debug 的输出

0 投票
1 回答
119 浏览

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.endpointis undefined,这会导致错误。

版本:5.4.1

我想知道是什么导致了错误。

0 投票
0 回答
59 浏览

semantic-release - 仅使用语义释放应用标签

据我阅读语义释放的文档,它按顺序做了很多事情。
它在提交中应用标签并将其发布到 Github 版本。

问:是否有可能以某种方式将这两个步骤分开?

  • 在第一阶段,我只想应用标签
  • 在第二阶段,我想将工件发布到 Github。

注意:我们正在使用以下命令

语义发布完成的步骤:语义发布:发布步骤

0 投票
1 回答
104 浏览

bitbucket-cloud - 避免在 Bitbucket Cloud 上进行第二次语义发布提交

我正在使用 Bitbucket Cloud,并且使用管道可以很好地工作,除了在发布/标记提交后我总是得到一个额外的提交,如下所示:

Notes added by 'git notes add'- 作者:semantic-release-bot

有没有办法避免这种情况?

这是我的配置:

0 投票
2 回答
910 浏览

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 中是否需要“同步标签”之类的东西?

0 投票
1 回答
592 浏览

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] [语义发布] › ✖ ETAGNOVERSIONtagFormat选项无效。tagFormat ( https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#tagformat ) 选项必须只包含一次变量版本。

您对 tagFormat 选项的配置是 ``。

[8:42:06 PM] [语义发布] › ✖ EINVALIDTAGFORMATtagFormat选项无效。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}被空白空间替换......