我正在Kubernetes集群中运行Jenkins,并设置为生成具有3个容器(jnlp,golang和kubectl)的执行程序容器。
使用“ golang”容器,我希望能够使用“ go install”从github提取依赖项
但是,我遇到了这些错误(我的代码在/ go / src / test-app中):
找不到软件包“ github.com/andreid/test-app/controllers” 找不到软件包“ github.com/sirupsen/logrus”
似乎无法从github中提取(尽管这是Jenkins从中提取我的代码的地方,并且它已配置为使用我生成的开发人员oauth密钥来执行此操作)。
“ jnlp”容器似乎成功处理了代码提取。
我该怎么做才能使“安装”按预期进行?
谢谢!
答案 0 :(得分:0)
对于后代:在具有所有适当用具(Kubernetes pod代理等)的Kubernetes集群中运行Jenkins时,没有简单的方法可以做到这一点。您可能希望代理会在Jenkins中使用github凭据设置,但他们不会。
一种快速的方法是创建一个包含github访问令牌的密钥,并将其安装为执行pod中使用的golang容器中的env var GITHUB_TOKEN。如果您的管道具有多种需求,则您将需要维护该秘密或使用多个秘密。
然后,您需要运行:
git config --global url."https://${GITHUB_TOKEN}:x-oauth-basic@github.com/<myproject>".insteadOf "https://github.com/24metrics"
,然后进行构建/获取。