我一直在 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 的存储库。
非常感谢您帮助所有这些活动部件协同工作。我相信还有很多其他人也在为这个问题争论不休。
温温酱
相关分类