问题标签 [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.
npm - 如何在语义发布中强制版本
我有一个 npm 包,我需要在 npmjs.com 中发布,但是因为我取消发布了以前错误的版本,现在 npmjs 不允许我重新发布具有相同版本的人工制品(它会抛出一个错误说You cannot publish over the previously published versions
)
在我的项目中,我使用语义发布,它会根据上次发布版本的提交自动计算提供给人工制品的版本。
因此,我想知道是否有一种方法overwrite
或force
语义发布来提供与它计算的版本不同的版本,例如在 CI 中运行它的命令时输入它
git - 语义释放不会在需要的分支上生成释放
我正在使用语义释放库,这是我的 release.config.js:
如您所见,我将 rel 分支设置为生成语义发布的分支,它工作正常,但只要我将上述内容更改为
为了生成任何分支名称的发布,例如:rel-1.0.0 或 release-1.3.4 或 rel。例如,我在 rel-1.0.2 中,我收到一条消息,说语义发布设置为 master,因此它不会生成发布
任何人都可以帮忙吗?
semantic-release - 使用语义发布获取下一个标签版本
嗨,我在我的仓库中使用语义发布进行版本控制。在我的 Gitlab 中,当我将分支与 master 合并时,我的标签会根据提交而增加,并且工作正常。有什么方法可以让我获得合并之前的“下一个标签版本”。我想在合并之前将下一个版本写入文件
尝试使用 exec 但它似乎没有运行
我尝试使用 exec 但 exec 没有为我运行(我对语义发布很陌生,我一定在某处做错了什么)
你能把我推向正确的方向吗:)
我的 gitlab Ci 脚本:
这是我的 package.json:
Exec 似乎没有运行
node.js - semantic-release 配置为仅从 master 发布
[16:07:15] [semantic-release] › ℹ 运行语义发布版本 17.0.4
[16:07:18] [semantic-release] › ✔ 从“@semantic-release/npm”加载插件“verifyConditions”
[16:07:19] [semantic-release] › ✔ 从“@semantic-release/git”加载插件“verifyConditions”
[16:07:19] [semantic-release] ›✔ 从“@”加载插件“analyzeCommits” semantic-release/commit-analyzer”
[16:07:19] [semantic-release] › ✔ 从“@semantic-release/release-notes-generator”
[16:07:19] [semantic- release] › ✔ 从“@semantic-release/changelog”加载插件“prepare”
[16:07:19] [semantic-release] › ✔ 从“加载”插件“prepare”@语义发布/npm"
[16:07:19] [semantic-release] › ✔ 从“@semantic-release/git”加载插件“prepare”
[16:07:19] [semantic-release] ›✔ 从“@”加载插件“publish”语义发布/npm”
[16:07:20] [语义发布] › ✔ 从“@semantic-release/gitlab”加载插件“发布”
[16:07:20] [语义发布] › ✔ 加载插件来自“@semantic-release/npm”的“ addChannel”
[16:07:20] [semantic-release] › ✔ 从“@semantic-release/github”加载插件“addChannel”
[16:07:27] [semantic- release] › ℹ 本次测试运行是在分支开发上触发的,而semantic-release配置为只从master发布,因此不会发布新版本。
在 .releaserc.js 上
git - Semantic-Release - 预发布版本不增加补丁、次要或主要版本
当前行为
这是一个全新的项目,所以新版本等。
目前有一个名为“next”的预发布分支,名为“stable”的发布分支,所有功能都在我们的“开发”分支中工作,并且它们具有正确的功能(测试):这是一个测试提交消息。
我们从开发分支创建一个拉取请求到“下一个”。一旦我们对它的外观等感到满意,我们就会将我们的“开发”分支合并到我们的“稳定”分支中。
首先推送“next”会创建一个名为 v1.0.0-next.1 的标签。
但是,另一个专长提交不会将版本增加到 v1.1.0-next.1。它只是创建 v1.0.0-next.2。
如果我随后将我们的“开发”分支拉入我们的“稳定”发布分支,它会更新正确的版本,例如发布 v1.1.0。
我在我的开发分支 package.json 中设置了以下版本
“版本”:“0.0.0-next”,我的版本在 package.json 中也没有像我在本地运行它时那样增加,对于任何分支。
预期的行为 预期的行为将按照正常情况使预发布版本增加,也有我的 package.json 更新。
软件包版本
语义发布版本:“@semantic-release”:“^17.0.4”,“@semantic-release/changelog”:“^5.0.1”,“@semantic-release/commit-analyzer”:“^8.0。 1", "@semantic-release/git": "^9.0.0", "@semantic-release/npm": "^7.0.5", "@semantic-release/release-notes-generator": "^ 9.0.1",
CI环境:
圈子CI
使用的插件:
CI 日志:
我尝试过的事情:
添加这些选项并在本地运行。
在我的计算机上本地npx semantic-release
运行,同时在提交会增加版本后签出 beta 分支。同样的问题,例如调试日志报告主要版本增加但仍然保持相同的 1.0.0-next.x,在这种情况下应该是 2.0.0-next.x。
如果有人可以提供帮助,将不胜感激:)
continuous-integration - 使用语义发布推送到存储库并使用 GitHub Actions 在其他作业中签出
我们正在使用 GitHub Action 自动发布我们的应用程序。为此,我们在 CI 管道中调用语义发布,然后在下一步中使用电子生成器生成二进制文件。我们需要 MacOS、Windows 和 Linux 的二进制文件。可悲的是,为此我们需要两个不同的工作,因为我们的工作必须在 macos-latest 上运行(签署 MacOS 构建),另一个在 ubuntu-latest 上运行(因为 Linux 构建在 macos-latest 上不起作用......转换主图标的一些问题)。
出现的问题是semantic-release
第一个作业中的步骤更新package.json
并将更改推送到 GitHub 存储库。然后它会创建 MacOS 和 Windows 二进制文件。之后,Linux 作业开始,检出存储库并创建其二进制文件。但是,它仍然在旧版本号上运行(语义发布之前的版本创建了一个新版本)。
您如何确保第二个作业确实具有第一个作业中推送的 git 存储库修订版?
这是操作的 yaml 文件(已删除环境变量映射):
git - Semantic-release:如何将已经发布到 artifactory 的主版本降级?
比如说,以前的版本是通过压缩提交来完成的。并BREAKING CHANGE
在发布版本的压缩提交消息末尾包含文本2.0.0
。
此后,完成了发布版本的新补丁发布2.0.1
。
在此之后,feature
我们没有决定压缩消息,以便语义发布可以决定使用提交消息将其撞到哪个版本号。从技术上讲,它应该撞到它2.1.1
相反,它3.0.0
通过同时考虑所有跳过(压扁)的提交消息并将其发布到工件来解决它。
现在我该如何降级我的版本让我们说回2.x.x
?手动或使用语义释放。
node.js - circleci 中的语义释放命令引发有关 execa 的错误
我正在尝试向 npm 发布一个包。当 CircleCI 尝试运行semantic-release
时,它会引发以下错误:
我的package.json
devDependencies 如下:
我已经在 CircleCI 中为 github 和 npm 设置了环境变量,并在我的 CircleCI 配置文件中使用了它们。在我的 CircleCI 配置中npm ci
运行之前,我还有一步。semantic-release
想知道是否有人遇到过这个问题并解决了这个问题?(如有需要,我可以提供更多信息。)
node.js - 语义释放 - 错误:找不到模块“../输出”
无论我做什么,当我在 BitBucket 管道中运行命令“npx semantic-release --debug”时,总是会遇到完全相同的错误。试运行似乎运行良好。
我已经尝试过的事情:
- 重新安装节点模块
- 更新包
- 从具有工作语义发布的项目中复制完全相同的配置/包
所有文件肯定都在那里。也许它无法访问?
这是完整的调试报告: