我如何允许“去获取”或“去安装”从Jenkins Kubernetes吊舱执行器中的github中提取?

时间:2019-01-16 14:11:52

标签: jenkins kubernetes

我正在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”容器似乎成功处理了代码提取。

我该怎么做才能使“安装”按预期进行?

谢谢!

1 个答案:

答案 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",然后进行构建/获取。