【问题标题】:Pass binary from Jenkins host to agent将二进制文件从 Jenkins 主机传递到代理
【发布时间】:2021-03-05 10:29:59
【问题描述】:

您可以将二进制文件从 Jenkins 主机传递给代理吗?

我让 Jenkins 在 Kubernetes 中运行,并且 terraform 插件安装在我的 Jenkins 主机上,二进制文件位于 /var/jenkins_home/tools/org.jenkinsci.plugins.terraform.TerraformInstallation/terraform/terraform

我想通过配置我的 pod 模板并将主机卷路径 /var/jenkins_home/tools/org.jenkinsci.plugins.terraform.TerraformInstallation/terraform/terraform 安装到代理的路径 /usr/bin/terraform 来将此传递给我的 Jenkins 代理

但这似乎没有按预期工作

当我执行到代理并运行 terraform version 时,我收到错误 bash: terraform: command not found,表明它没有二进制文件。

我可以看到安装在/usr/bin 中的 terraform 目录,但没有二进制文件。我期望将 terraform 安装在代理上。但是我的想法在这里可能不正确。

是否可以这样做,有没有人有这方面的经验?

【问题讨论】:

标签: jenkins kubernetes jenkins-pipeline


【解决方案1】:

@David Maze 提到来自Jenkins 的二进制文件需要手动安装在每个节点上,这可能很难管理。但是,您可以将 Jenkins 设置为在容器内运行管道步骤,其中映像包含您需要的工具,这样可以简化这种情况。

阅读更多:execution-env-jenkins

【讨论】:

    【解决方案2】:

    另一种方法是使用slaves setup plugin。我们使用它基于标签在节点上安装和配置内部工具(和端)。比@Malgorata(和我们之前的)手动复制方法更轻松的日志

    不确定它与 Kubernetes 的配合情况如何,因为我们的配置中没有。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-04
      • 2016-01-06
      • 1970-01-01
      • 2016-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多