问题标签 [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 回答
77 浏览

git - 为什么在语义释放执行 git push 时忽略 $HOME/.config/git/credentials

我正在使用git 2.19.0并且我的发布 CI 工作失败。

我想使用 git git-credentials进行身份验证。

这就是我创建$HOME/.config/git/credentials的方式

这就是我所拥有的.git/config

这就是我所拥有的$HOME/.config/git/credentials

但是,当我这样做时git push,它无法使用该配置,而是从.git/config项目中读取配置。

这样cp $HOME/.config/git/credentials ~/.git-credentials做没有帮助。

为什么我这样做时会忽略$HOME/.config/git/credentialsgit push

0 投票
1 回答
454 浏览

semantic-release - 在 preversion 步骤中获取版本

我正在使用一个名为的包babel-plugin-inline-package-json在我的构建步骤中提取我的版本号。当前使用语义发布包版本始终是 0.0.0 而不是正确的版本号。preversion我设置语义发布以使用 npm命令触发构建。我的印象是,到语义发布触发预版本时,它已经将新版本插入到 package.json 中,但我一直得到 0.0.0。提取版本号以便在构建步骤中获取它的正确方法是什么?

0 投票
1 回答
1350 浏览

pact - 在语义发布中处理 nextRelease 版本

所以我一直在阅读文档,并且对我应该做的 事情有所了解,但没有真正掌握我该怎么做。

这是我的问题: - 我正在使用语义发布将我的包发布到 npm - 我还使用 Pact 进行了合同测试。- 我希望我的契约在发布后发布,如果成功的话,与新版本的版本相同

我怎样才能轻松做到这一点?

我查看了文档,并了解我可以使用该exec插件,但是,我发现我不清楚我应该如何配置语义发布以与现在完全相同,至少将版本公开为env 变量,并且找不到这样做的人的示例。

我可以使用钩子,但我担心如果由于某些原因没有发生 npm publish,我仍然会在下一个版本中发布我的协议,而下一个版本并不完全存在。这里有什么建议吗?

看来我也可以编写自己的 JS 脚本(请参阅https://github.com/semantic-release/semantic-release/blob/3cc62f0318ff8917fcdc7cebe890da9dbaa7b3f9/docs/developer-guide/js-api.md)以及处理版本,但我不确定这个示例做了什么以及它涵盖了当前行为的内容。

我想我也可以编写我自己的协议插件,但这比理解语义释放的内部如何工作更重要。

所以我在分享一些例子/经验,也许是一个简单的解决方案,可以在不到 30 分钟的时间内完成 :)

谢谢

PS:很抱歉在这里发帖,但语义释放的问题似乎并不是真正的支持问题。

0 投票
1 回答
739 浏览

semantic-release - 语义发布:是否可以在 repo 中跟踪和发布某个目录?

我们有一个带有 JavaScript 子模块的 Java 项目,其结构如下所示:

java-project |- folder1 |- folder2 |- ... |- javascript-submodule |- package.json |- ...

是否可以设置semantic-releasejavascript-submodule仅跟踪更改并使用它触发 npm 发布javascript-submodule/package.json

0 投票
1 回答
2233 浏览

node.js - 语义发布无法发布到 npm

我正在使用语义发布 npm 模块来执行循环 ci 中的发布。我收到以下错误

[semantic-release] [@semantic-release/npm] › ℹ 将 1.0.0 版写入 /home/circleci/tmp npm 中的 package.json 错误!版本未更改,可能需要 --allow-same-version

npm 错误!可以在以下位置找到此运行的完整日志:npm ERR!
/home/circleci/.npm/_logs/2019-01-19T15_21_36_194Z-debug.log [下午 3:21:36] [语义发布] › ✖ 插件“@semantic-release/npm”的“准备”步骤失败 [下午 3:21:36] [语义发布] › ✖ 运行语义发布时出错:{ 错误:命令失败:npm 版本 1.0.0 --no-git-tag-version npm ERR!版本未更改,可能需要 --allow-same-version

npm 错误!可以在以下位置找到此运行的完整日志:npm ERR!
/home/circleci/.npm/_logs/2019-01-19T15_21_36_194Z-debug.log

可能需要--allow-same-version\n\nnpm ERR!可以在以下位置找到此运行的完整日志:\nnpm ERR!
/home/circleci/.npm/_logs/2019-01-19T15_21_36_194Z-debug.log\n',
失败:true,信号:null,cmd:'npm version 1.0.0 --no-git-tag-version', timedOut:false,killed:false,pluginName:'@semantic-release/npm'} {错误:命令失败:npm version 1.0.0 --no-git-tag-version npm ERR!版本未更改,可能需要 --allow-same-version

npm 错误!可以在以下位置找到此运行的完整日志:npm ERR!
/home/circleci/.npm/_logs/2019-01-19T15_21_36_194Z-debug.log

可能需要--allow-same-version\n\nnpm ERR!可以在以下位置找到此运行的完整日志:\nnpm ERR!
/home/circleci/.npm/_logs/2019-01-19T15_21_36_194Z-debug.log\n',
失败:true,信号:null,cmd:'npm version 1.0.0 --no-git-tag-version', timedOut: false, kill: false, pluginName: '@semantic-release/npm' }退出代码 1

我该如何解决?

0 投票
1 回答
71 浏览

semantic-release - 插件加载阶段出现意外的 EPLUGINCONF

我正在实现一个语义发布插件,但是当我将它应用到构建时,它会触发以下错误。

我可以理解为我的插件(gradle-semantic-release-plugin)生成的配置很糟糕,但我找不到它发生的原因以及如何修复。我希望我能得到社区的帮助。

我的发布配置在这个 package.json中列出,我的插件没有配置。

提前致谢!

0 投票
0 回答
391 浏览

angular - 如何使用语义发布在 Bitbucket 存储库中发布 Angular 库?

我正在开发一个 Angular 库,我正在努力使发布过程尽可能自动化。我一直在研究不同的工具,并且看到了一些非常有用的工具:

  • 提交消息格式的Commitizen
  • Husky使用 git hooks 强制提交格式
  • 语义发布自动发布和发布新版本并生成变更日志

关键是这些工具似乎配置得很好,可以在 GitHub 和 NPM 的环境中工作,但我的环境与 Bitbucket 一起工作,并且不使用 NPM 来托管库。

所以我有几个问题:

如您所知,当您创建 Angular 库时,它是在“项目”目录下的工作区中创建的。所以假设我有以下结构:

在此处输入图像描述

此代码位于一个存储库中,因此如果我想发布我的库,以便可以使用 package.json 中的以下内容将其安装在其他应用程序中:

构建后是否应该有另一个 Bitbucket 存储库来发布 dist 文件夹中的内容?还是我应该提交并推送当前存储库中的 dist 文件夹?我有点失落。

我应该如何配置语义发布以仅影响库?

提前致谢。

0 投票
1 回答
160 浏览

semantic-release - 语义释放是否有一个替换器来替换文件中的字符串?

我很惊讶没有看到用于语义发布的插件来替换文件中的字符串(例如,通过正则表达式),例如,更新服务工作者(以及自述文件)中的版本字符串。

语义发布是否有这样的功能或插件?

0 投票
3 回答
568 浏览

node.js - 如何使用 CircleCI 进行语义发布在未发现任何更改时失败

我已经设置了一个 CircleCI 作业来运行语义发布,但我希望 CircleCI 在没有发现任何更改时失败。即当语义释放输出时:

没有相关的变化,所以没有发布新版本

运行线的 CircleCi 片段。

0 投票
0 回答
244 浏览

git - 无法通过语义释放推送到不合格的目的地

我正在尝试使用语义发布从 Jenkins 作业中发布我的库,但出现此错误:

错误:无法推送到不合格的目的地:来源/语义发布测试

在我的本地机器上,我没有问题。这是完整的日志:

我错过了什么?