对于Jenkins Job DSL,我正在尝试为作业选择特定的ssh代理(插件)键(在包装上下文中使用sshAgent关键字)。我们已经安装了Jenkins ssh代理插件和几个密钥设置(该插件可以正常工作,因为我们几乎将其用于所有工作)。无论我是否在Jenkins设置中指定了其他密钥,Jenkins Job DSL sshAgent命令始终会选择第一个密钥。
我尝试仅使用键名,但也尝试使用key_name +空格+描述(就像下拉列表所示)。这也不起作用-仍然选择第一个键。
这是一个已知的问题?(我尚未对此进行任何搜索)
您需要将凭据的ID传递给sshAgent
DSL方法。要获取ID,请至少安装Credentials插件的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')
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句