温馨提示:本文使用 ChatGPT 润色。
出现问题
前几天写了一个 npm 包,按照惯例 push 到 GitHub 上用 semantic-release 来发布,在配置完 GH_TOKEN 和 NPM_TOKEN 之后遇到了 403 权限问题:
semantic-release cannot push the version tag to the branch master on the remote Git repository with URL https://[secure]@github.com/CaoMeiYouRen/xxxxx.
This can be caused by:
a misconfiguration of the repositoryUrl (https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#repositoryurl) option
the repository being unavailable
or missing push permission for the user configured via the Git credentials on your CI environment (https://github.com/semantic-release/semantic-release/blob/master/docs/usage/ci-configuration.md#authentication)
简单来说就是没有 Git 权限来推送到我的代码仓库。
但很奇怪的是,我的配置和以往的项目是一样的,检查了 semantic-release 的版本之后也是一样的,甚至在当天还发布过老项目的 fix 版本,也是正常 release 了,这就非常奇怪了。
解决问题
在翻看过 semantic-release 的 issues 之后,我发现了一个解决方案:semantic-release/issues/2636 , 其中有提到要做如下的配置。
具体参考:Pushing package.json changes to a master branch
- name: Checkout
uses: actions/checkout@v2
with:
persist-credentials: false # <--- this
在修改了 GitHub Actions 的相关配置之后,执行成功了,问题解决!
总结
这次出现问题的原因可能是因为 Github Actions 出现了安全性升级,在权限方面更加严格了,具体的原因还有待后续分析。
- 本文链接: https://wp.cmyr.ltd/archives/how-to-solve-the-problem-of-semantic-release-in
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
欢迎关注我的其它发布渠道
发表回复
要发表评论,您必须先登录。