0

在 CircleCI 上运行检查和发布时,该过程在发布阶段使用语义释放开始失败。几个月来一直运行良好。

错误消息是:

[3:24:45 AM] [semantic-release] › ✖ An error occurred while running semantic-release: Error: Command failed with exit code 128: git ls-remote --heads https://[secure]@github.com/your_name/repo_name
remote: Invalid username or password.
fatal: Authentication failed for 'https://[secure]@github.com/your_name/repo_name/'
4

1 回答 1

0

此处的错误消息有点误导,因为检查 CircleCI 和 Github 的链接表明一切都很好。

实际上失败的是在 Circle CI 项目的环境变量中使用的 Token。

我们能够通过以下方式使其再次工作:

所以能够通过在 Github 中重新生成 Auth Token 来解决这个问题

  1. Github:(设置 -> 开发人员设置 -> 个人访问令牌 -> 重新生成令牌(保持所有设置相同)。
  2. 然后在 Circle CI 中:项目 -> 项目设置(屏幕右上角)-> 环境变量 -> 删除旧令牌(我的称为 GH_TOKEN),并使用在 Github 中创建的新值重新添加 GH_TOKEN。
  3. 重新运行失败的语义发布并且它有效。

我不知道为什么令牌停止工作。几个月来,我在 Github 或 CircleCI 中没有改变它。

也许可以改进错误消息以说明令牌失败?说它是远程的:无效的用户名或密码。\n 当它是一个错误的令牌时并不是很清楚。

我在语义发布回购中打开了一张票: https ://github.com/semantic-release/semantic-release/issues/1947

不知道为什么它停止工作,但至少它又能工作了:)

于 2021-05-27T07:20:53.130 回答