【问题标题】:Jenkins Job DSL sshAgent not working correctlyJenkins Job DSL sshAgent 无法正常工作
【发布时间】:2016-01-18 16:42:36
【问题描述】:

对于 Jenkins Job DSL,我正在尝试为作业选择特定的 ssh 代理(插件)密钥(使用包装器上下文中的 sshAgent 关键字)。我们安装了 Jenkins ssh 代理插件并设置了几个密钥(这个插件有效,因为我们几乎所有的工作都使用它)。 Jenkins Job DSL sshAgent 命令总是选择第一个键,无论我是否在 Jenkins 设置中指定了不同的键。

我尝试过只使用键名,但也尝试过 key_name + 空格 + 描述(就像下拉菜单显示的那样)。这也不起作用——仍然选择第一个键。

这是一个已知问题吗? (我还没有搜索过这个)

【问题讨论】:

    标签: jenkins-job-dsl


    【解决方案1】:

    您需要将凭据的 ID 传递给 sshAgent DSL 方法。要获取 ID,请至少安装 Credentials Plugin 的 1.21 版。然后导航到您要使用的凭据,例如如果您要使用的凭据是全局的并且称为“您的凭据”,请转到 Jenkins > 凭据 > 全局凭据(不受限制)> 您的凭据 > 更新。然后单击“高级...”按钮以显示 ID。如果您在创建凭据时未指定自定义 ID,则它是一个 UUID,例如 99add9e9-84d4-408a-b644-9162a93ee3e4。然后在你的 DSL 脚本中使用这个值。

    job('example') {
      wrappers {
        sshAgent('99add9e9-84d4-408a-b644-9162a93ee3e4')
      }
    }
    

    建议在创建新凭据时使用可识别的自定义 ID,例如deployment-key。这将导致可读的 DSL 脚本。

    job('example') {
      wrappers {
        sshAgent('deployment-key')
      }
    }
    

    【讨论】:

    • 工作就像一个魅力!非常感谢!
    猜你喜欢
    • 2017-06-27
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    相关资源
    最近更新 更多