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

我一直在 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 的存储库。

非常感谢您帮助所有这些活动部件协同工作。我相信还有很多其他人也在为这个问题争论不休。


慕盖茨4494581
浏览 164回答 1
1回答

温温酱

我建议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 模块。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go