为了账号安全,请及时绑定邮箱和手机立即绑定

ssh-agent Github 操作:为什么无法读取用户名...终端提示已禁用?

ssh-agent Github 操作:为什么无法读取用户名...终端提示已禁用?

Go
慕盖茨4494581 2023-01-03 16:00:20
我一直在 GitHub Actions、GoReleaser 和 Ssh-Agent 的说明之间来回走动,无法让我的简单发布构建脚本工作。我的目标很简单……我有一个包含 CLI 应用程序的私有存储库,它的 go.mod 文件依赖于我们创建的另一个私有存储库。在本地构建应用程序成功。问题是,当我尝试在 GitHub Action 中构建这个简单的应用程序时,事情很快变得非常复杂……存储库机密、部署密钥和其他一些移动部件。尽管这个用例很常见,但我没能找到一个例子说明有人已经为它实现了发布构建脚本……出于沮丧,我正准备切换到 mono-repo。详细信息... github 构建脚本正常工作,直到使用 GoReleaser 进行实际构建,但失败并显示以下内容:“6serror=hook 失败后发布失败:go mod tidy:退出状态 1;输出:go:正在下载...”和“致命:无法读取‘https://github.com’的用户名:终端提示已禁用”据我了解,Ssh-Agent 应该使用我在帐户中配置的 SSH 私钥设置访问权限。因此,GoReleaser 应该可以毫无问题地访问任何具有包含 SSH 公钥的 DEPLOY_KEY 的存储库。非常感谢您帮助所有这些活动部件协同工作。我相信还有很多其他人也在为这个问题争论不休。
查看完整描述

1 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

我建议Configure git for private modules在 Github 操作中,在您的工作流程中添加一个简单的步骤,例如:


  - name: Configure git for private modules

    env:

      GITHUB_API_TOKEN: ${{ secrets.GH_API_TOKEN }}

    run: git config --global url."https://x:${GITHUB_API_TOKEN}@github.com".insteadOf "https://github.com"

并在 repo 中添加GH_API_TOKEN秘密,以便能够在go mod tidy命令期间下载 go 模块。


查看完整回答
反对 回复 2023-01-03
  • 1 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信