2016-09-22 71 views
1

我们在Jenkins上的构建作业是作为发布构建一些git命令(如git push和git pull)的一部分运行,因此需要从shell运行已认证的git命令在构建期间。从Jenkins Git插件使用SSH密钥在构建期间运行Git命令

我们詹金斯奴隶并没有持有任何凭证,因为他们是每个版本创建的一次性码头集装箱。

git插件用Jenkins证书来管理这个事情,并且“以某种方式”设置GIT_SSH来获取通过证书配置的私钥。

我检查了源代码,并试图确定如何获取配置的变量,以便我可以将git pull作为SSH脚本作为构建的一部分运行。没有成功。

有没有办法使用Jenkins证书作为构建步骤的一部分运行git命令?

我目前的解决方案是将SSH密钥复制到从站作为构建环境设置的一部分,但看起来像重复的工作(加上潜在的安全问题)。

+0

你可以通过命令行在github中添加从机的公钥吗? –

+0

每个slave都是一个一次性的docker容器,没有SSH密钥或者任何设置来支持这个,比我现在做的拷贝更复杂,我认为 –

回答

-1

如果通过git运行共享凭据是必不可少的,请给git client plugin一个尝试,但如果您确实想共享/存储凭据,请考虑使用credentials plugin或类似的东西。

请注意,您也可以在“安装后”运行一个shell脚本,该脚本可以运行需要在机器上执行的任何命令。

+0

我不认为我知道,插件对于问题提到。 shell脚本是我现在正在做的副本(当然,不是shell脚本,而是构建环境步骤)。 –