如何通过环境变量将GIT凭据传递给MultiScm关闭



我很难通过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中也不可用。

相关内容

  • 没有找到相关文章

最新更新