标签: semantic-release

语义发布重大更改使用 ! (感叹号)

可以使用感叹号在语义发布中处理主要版本更改(也称为重大更改)吗?

\n
git commit -m \'feat!: this is breaking, but is not recognized by semantic-release\'\n
Run Code Online (Sandbox Code Playgroud)\n

传统的提交指南表明,可以在页脚中使用页眉中的感叹号来标记重大更改。

\n

在此输入图像描述

\n

这是我一直在测试的工作流程

\n

安装存储库 \xe2\x9c\x93

\n
git init\ngit remote add origin git@github.com:klueless-io/k_genesis.git\ngit branch -M main\ngit add .\ngit commit -am \'first commit\'\n# Artificial starting version number\ngit tag v0.0.18 -a -m \'k_genesis initialize repository\'\ngit push -u origin main --tags\ngit hist\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n

删除单个文件并将其称为新功能 \xe2\x9c\x93

\n
rm a1\ngit add .\ngit commit -m \'feat: remove a1\'\ngit hist\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n
npx semantic-release --no-ci\n
Run Code Online (Sandbox Code Playgroud)\n

在此输入图像描述

\n …

semantic-release conventional-commits conventional-changelog

12
推荐指数
1
解决办法
3413
查看次数

语义发布中的变更日志处理?

在我们的 Github 工作流程中使用语义发布

它们的设置如下:

[
  {name: 'main', prerelease: false},
  {name: 'staging', prerelease: true},
  {name: 'development', prerelease: true}
]
Run Code Online (Sandbox Code Playgroud)

推送到development部署到环境development等。stagingstaging

现在,每次版本更新时,使用上面的包,都会使用语义发布/更改日志semantic-release创建更改日志。

现在我们应该如何处理不同分支中冲突的变更日志?

  1. 选项:仅在release分支上启用更改日志创建。(我不知道怎么做。插件没有这样的选项。)
  2. 选项:自动将变更日志合并回“分层”的较低分支。例如staging回到development.

我想知道那里有人有类似的问题吗?

github changelog git-flow semantic-release

11
推荐指数
1
解决办法
1173
查看次数

如何在不需要 npm 的情况下设置语义发布?

我有一个 C# 项目,想为其添加语义版本控制。因此,每当我推送到main分支时,我想创建一个新版本并根据提交类型自动生成新版本号。我认为语义释放很好地完成了这项工作,因为我已经将commitlinthusky一起使用。

\n

对于复制:

\n\n

\n
name: Release\n\non:\n  push:\n    branches:\n      - `main`\n\njobs:\n  release:\n    runs-on: ubuntu-latest\n\n    steps:\n      - uses: actions/checkout@v2\n\n      - name: Setup Node\n        uses: actions/setup-node@v2\n        with:\n          node-version: 14.x\n\n      - name: Install dependencies\n …
Run Code Online (Sandbox Code Playgroud)

c# git npm semantic-versioning semantic-release

10
推荐指数
1
解决办法
5500
查看次数

Github:使用细粒度令牌推送到受保护的分支

我在Github 存储库中使用语义发布来创建推送时的自动发布。该版本需要将 package.json 和 CHANGELOG.md 提交到我的受保护分支。

我曾经从我的管理员帐户提供个人令牌,以允许语义发布推送到受保护的分支。为了提高安全性,我想通过新的细粒度token来替代PT 。因此,我使用与旧 PT 相同的管理员帐户创建了一个细粒度 PT,并授予其内容写入权限。不幸的是,这似乎不足以推送到受保护的分支。 在此输入图像描述

知道可能需要哪些许可吗?

更新:不确定这是否受到支持。我在细粒度个人代币反馈讨论中发布了这个问题

semantic-release github-actions github-fine-grained-tokens protected-branches

9
推荐指数
1
解决办法
1399
查看次数

使用语义版本获取下一个标签版本

嗨,我在我的 repo 中使用语义发布进行版本控制。在我的 Gitlab 中,当我将我的分支与 master 合并时,我的标签会根据提交增加并且工作正常。有什么方法可以让我在合并之前获得“下一个标签版本”。我想在合并之前将下一个版本写入文件

尝试使用 exec 但它似乎没有运行

我尝试使用 exec 但 exec 没有为我运行(我对语义发布很陌生,我一定在某处做错了什么)

你能把我推向正确的方向吗:)

我的 gitlab Ci 脚本:

semantic_release:
stage: Tag
image: node:12.16
variables:
GITLAB_TOKEN: $TOKEN_ACCESS
before_script:
- npm install -g semantic-release/exec
- npm install -g semantic-release @semantic-release/gitlab-config
script:
- semantic-release -e @semantic-release/gitlab-config @semantic-release/exec
only:
- master
Run Code Online (Sandbox Code Playgroud)

这是我的 package.json:

{
  "name": "@semantic-release/npm",
  "description": "semantic-release",
  "version": "0.0.0-development",
  "author": "",
  "release": {
    "analyzeCommits": "@semantic-release/commit-analyzer",
    "generateNotes": "@semantic-release/release-notes-generator",
    "publish": "@semantic-release/gitlab",
    "success": false,
    "fail": false,
    "branches": [
      "master"
    ],
    "npmPublish": false
  },
  "plugins": …
Run Code Online (Sandbox Code Playgroud)

semantic-release

8
推荐指数
2
解决办法
3207
查看次数

[主要].[次要].[补丁]的最大数量

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

semantic-versioning semantic-release

7
推荐指数
0
解决办法
4234
查看次数

Gitlab-CI 中存在已删除的标签

我正在使用语义发布进行版本控制。每当我将某些东西推送到我的分支时,CI(Gitlab)就会执行语义发布。我的问题是我推送到我的 git 分支,semantic-release 创建了一个版本并创建了标签(例如 1.0.0)。最后,我发现我错过了这次提交的一些重要内容。所以我删除了Gitlab中的标签(存储库>标签,例如https://gitlab.com/user/project/-/tags),最后再次推送我的提交。但现在,semantic-release 告诉我该标签已经存在,但 Gitlab 不再显示任何标签(我删除了所有标签)。现在我决定将以下行添加到我的 CI 中:

git show-ref --tags -d

这显示了我已经在 Gitlab 中删除的所有标签,但它们似乎存在于我的 CI 中。所以我很困惑这里发生了什么......有什么想法吗?我的 CI 中是否需要“同步标签”之类的东西?

git gitlab gitlab-ci semantic-release

7
推荐指数
1
解决办法
3949
查看次数

Semantic-Release 不会创建具有重大变更的版本

当我创建这样的提交git commit -m\'BREAKING CHANGE: foo bar\'并向上推时semantic-release告诉我,

\n
[@semantic-release/commit-analyzer] \xe2\x80\xba \xe2\x84\xb9  Analyzing commit: BREAKING CHANGE: Changes from slice_into_subrepo\n[@semantic-release/commit-analyzer] \xe2\x80\xba \xe2\x84\xb9  The commit should not trigger a release\n[@semantic-release/commit-analyzer] \xe2\x80\xba \xe2\x84\xb9  Analysis of 1 commits complete: no release\n
Run Code Online (Sandbox Code Playgroud)\n

为什么BREAKING CHANGE不创建一个版本,这里有记录这样做

\n
\n

重大更改:石墨宽度选项已被删除。\n出于性能原因,始终使用默认的石墨宽度 10 毫米。

\n
\n

javascript node.js semantic-release

7
推荐指数
1
解决办法
5965
查看次数

ERELEASEBRANCHES 发布分支在 `branches` 配置中无效。当我使用对象时

我正在使用语义发布,并且我正在尝试使用配置创建预发布

module.exports = {
    branches: [{ name: 'master', prerelease: true }],
    plugins: [
        '@semantic-release/commit-analyzer',
        '@semantic-release/release-notes-generator',
        [
            '@semantic-release/github',
            {
                assets: [ { path: 'dist.zip', label: 'PWA App' } ],
            },
        ],
    ],
};

Run Code Online (Sandbox Code Playgroud)

正如您所看到的,branches它只是一个带有名称和预发布的对象(我也尝试用作数组,同样的问题)

有错误的公共存储库:https :
//github.com/Ridermansb/react-firebase-ssr/runs/813996442?check_suite_focus=true

错误

语义释放“--dry-run”“--debug”

[6:31:02 PM] [语义发布] › ? 运行语义发布版本 17.1.1 [6:31:02 PM] [语义发布] › ? 从“@semantic-release/github”加载插件“verifyConditions”[6:31:02 PM] [semantic-release] › ? 从“@semantic-release/commit-analyzer”加载插件“analyzeCommits” [6:31:02 PM] [semantic-release] › ? 从“@semantic-release/release-notes-generator”加载插件“generateNotes” [6:31:02 PM] [semantic-release] › ? 从“@semantic-release/github”加载插件“publish” [6:31:02 PM] [semantic-release] › ? 从“@semantic-release/github”加载插件“addChannel”[6:31:02 PM] [semantic-release] › …

git semantic-release

6
推荐指数
2
解决办法
1399
查看次数

在一个功能分支上进行许多传统的壮举类型提交

我已被添加到一个存储库,该存储库使用来自动提升 NPM 包的版本。该存储库使用常规提交规范,并且自述文件非常有限。

如果我要创建一个feature/ABC-123包含新功能的分支,这是否意味着我所做的每个提交都应该具有以下提交结构,feat: my message related to this commit或者我应该只有 1 个feat提交,其余的chore或其他类型不会提高存储库的版本?

或者我不需要担心这个问题,因为分支是这样的feature/ABC-123,因此知道将包提高 1 个次要版本,因为它位于功能文件夹中?

希望以上内容有意义,但如果没有的话,这里是一个提交历史记录示例:

feat: add product card basic layout
feat: add title to product card
test: add unit tests to product card
feat: add image to product card
chore: update breakpoints for card
test: add more unit tests
Run Code Online (Sandbox Code Playgroud)

上面的示例是否会像我使用过 3 次那样将 NPM 包提高 3 个次要版本feat,或者仅提高 1 个次要版本?或者这并不重要,唯一重要的是压缩提交并确保feat: added …

git npm semantic-release conventional-commits

6
推荐指数
1
解决办法
2159
查看次数