1

我有以下情况。

我尝试了一个简单的管道作业来克隆我的远程仓库。当我将它设置为在 master 上执行时它工作正常。

node {
   //stage 'Checkout'
     git([url: 'ssh://someusername@gerrit.mycompany.domain:29418/bla/bla.git', branch: 'mybranch'])
}

它使用默认的 git 安装来运行命令。我在 jenkins 配置中为 slave 配置了不同的 git。当我尝试在从属设备上运行相同的管道时,它会失败,因为它总是尝试使用默认的 git 安装。

node ('myagent1'){
   //stage 'Checkout'
     git([url: 'ssh://someusername@gerrit.mycompany.domain:29418/bla/bla.git', branch: 'mybranch'])
}

错误很明显:

Caused by: hudson.plugins.git.GitException: Error performing command: /jenkins-master-some-path/bin/git init /home/user/workspace/pipeline

/jenkins-master-some-path/bin/git对主人是正确的。

对于正常的工作,我们可以选择一个安装,但有人可以告诉我是否有办法在从属设备上使用不同的 git 安装进行管道。

4

2 回答 2

1

哦,我找到了一个方法。我没有使用 git 命令,而是使用了这个“结帐”模块。从流水线作业配置中,如果您单击“流水线语法”,它会将您带到另一个页面。在那里,您只需使用 GUI 即可生成 groovy。

于 2016-08-09T15:10:52.450 回答
1

另一个适用于所有工具的解决方案是为您的特定代理节点配置特定的工具安装路径。

去 :

Jenkins > Manage Nodes > myagent1 > nodes properties > tools 

...然后选择在您的代理上找不到的工具(例如 Git 可执行文件),然后填写您的可执行文件路径。

于 2016-08-10T09:11:57.420 回答