微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

语义发布的发布标签指向错误的频道

如何解决语义发布的发布标签指向错误的频道

我正在为我们的.Net Core解决方案使用语义发布。 语义发布被用作GitLab存储库中CI管道的一部分。

这是我的.releaserc.json

{
  "plugins": [
    "@semantic-release/commit-analyzer","@semantic-release/release-notes-generator",["@semantic-release/changelog",{
      "changelogFile": "CHANGELOG.md"
    }],["@semantic-release/exec",{
      "publishCmd": "./publish.sh ${nextRelease.version}"
    }],"@semantic-release/gitlab"
  ],"branches": [
      "master",{"name": "develop","channel": "beta","prerelease": "beta"},{"name": "release","channel": "RC","prerelease": "RC"}
  ]
}

如您所见,我正在使用简化的GitFlow。 我有一个master分支,一个用于发布发行候选版本的release分支和一个具有最新开发代码develop分支。也有从develop创建的功能分支,但未进行版本控制。

我遇到的问题是,一旦我将代码develop合并到release,对develop分支的任何提交都会导致语义释放无法找到最后一个标签在合并到release之前创建。

让我尝试解释发生了什么。 使用提交消息develop功能分支(从develop创建)使用壁球合并到feat(Products): Add tag support,此提交将产生新版本v1.10.0-beta.11。 接下来,我将把develop分支合并到release,这将导致创建1.10.0-RC.1版本。 接下来,我将对develop分支进行新的提交,这将导致语义释放无法创建新版本。

[11:09:42 AM] [semantic-release] › ✔  Completed step "verifyConditions" of plugin "@semantic-release/gitlab"
[11:09:42 AM] [semantic-release] › ℹ  Found git tag v1.10.0-beta.10 associated with version 1.10.0-beta.10 on branch develop
[11:09:42 AM] [semantic-release] › ℹ  Found 2 commits since last release
[11:09:42 AM] [semantic-release] › ℹ  Start step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
[11:09:42 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  Analyzing commit: feat(Products): One commit before Add tag support
[11:09:42 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  The release type for the commit is minor
[11:09:42 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  Analyzing commit: feat(Products): Add tag support
[11:09:42 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  The release type for the commit is patch
[11:09:42 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  Analysis of 2 commits complete: minor release
...
[11:09:42 AM] [semantic-release] › ℹ  Start step "prepare" of plugin "@semantic-release/exec"
[11:09:42 AM] [semantic-release] › ✔  Completed step "prepare" of plugin "@semantic-release/exec"
[11:09:42 AM] [semantic-release] › ✖  An error occurred while running semantic-release: Error: Command Failed with exit code 128: git tag v1.10.0-beta.11 a1ee6896485641d039f1816efcc0e30dce7139e8
fatal: tag 'v1.10.0-beta.11' already exists
...

以后对develop的所有提交都会失败。唯一的解决方案是将release合并到master分支。 如果我再次将develop合并到release。这将发生:

[9:57:53 AM] [semantic-release] › ✔  Completed step "verifyConditions" of plugin "@semantic-release/gitlab"
[9:57:53 AM] [semantic-release] › ℹ  Found git tag v1.10.0-beta.11 associated with version 1.10.0-beta.11 on branch release
[9:57:53 AM] [semantic-release] › ℹ  Found 1 commits since last release
[9:57:53 AM] [semantic-release] › ℹ  Start step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
[9:57:53 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  Analyzing commit: fix(bug): Some bug fixed
[9:57:53 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  The release type for the commit is patch
[9:57:53 AM] [semantic-release] [@semantic-release/commit-analyzer] › ℹ  Analysis of 1 commits complete: patch release
[9:57:53 AM] [semantic-release] › ✔  Completed step "analyzeCommits" of plugin "@semantic-release/commit-analyzer"
...
[9:59:02 AM] [semantic-release] › ℹ  Start step "publish" of plugin "@semantic-release/gitlab"
[9:59:02 AM] [semantic-release] [@semantic-release/gitlab] › ℹ  Published GitLab release: v1.10.0-beta.12
[9:59:02 AM] [semantic-release] › ✔  Completed step "publish" of plugin "@semantic-release/gitlab"
[9:59:02 AM] [semantic-release] › ℹ  Start step "success" of plugin "@semantic-release/exec"
[9:59:02 AM] [semantic-release] › ✔  Completed step "success" of plugin "@semantic-release/exec"
[9:59:02 AM] [semantic-release] › ✔  Published release 1.10.0-beta.12 on RC channel

它将在RC频道上发布beta版本。

在我看来,这似乎是配置问题或分支模型问题。 任何帮助将不胜感激!

注意: 最初,我想使用普通的GitFlow分支模型,但由于遇到语义释放方面的更多问题,因此我对其进行了简化。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。