我很难通过credentialParam
下拉下拉来传递GIT凭据。每当我运行从下面的代码生成的作业(我从下拉列表中选择正确的部署密钥(,Git表示它不接受凭据(它返回Permission denied (publickey).
(当我在"凭据"闭合中明确表示硬码git部署密钥的ID时,一切都很好。我想知道为什么没有从REPO_CREDENTIALS
变量中挑选它?这也很奇怪,因为每当我在运行生成的作业之前手动更改git URL时,即使通过环境变量通过它,该更改也会立即被工作选择。
谢谢
job("test-job") {
parameters {
stringParam('GIT_URL', 'git@github.com:myorg/myrepo.git', 'URL or Github repository for the project')
credentialsParam('REPO_CREDENTIALS') {
type('com.cloudbees.jenkins.plugins.sshcredentials.impl.BasicSSHUserPrivateKey')
required(true)
defaultValue('')
description('Credential to use to pull from Github for this project')
}
stringParam('GIT_BRANCH', 'master', 'Git branch to scan, without 'origin/' prefix.')
}
multiscm {
git {
remote {
url('$GIT_URL')
credentials('$REPO_CREDENTIALS')
}
branches('$GIT_BRANCH')
}
}
steps {
shell('./run.sh')
}
}
无法将凭据参数用作git scm凭据。GIT插件不支持该字段的变量扩展。也不可能将变量配置为配置UI中的GIT凭据。作业DSL只能生成UI可以生成的配置。如果配置UI中没有功能,则在作业DSL中也不可用。