如何使用凭证参数设置git凭据

时间:2016-04-01 20:32:57

标签: jenkins-job-dsl

我正在写一份工作 - 种子工作。种子作业需要能够从github.com或我公司的github企业服务器生成。我想保留一份工作,而不是两份工作。

在每种情况下,我都希望jenkins能够通过身份验证。所以要做到这一点,我将信用卡硬编码到脚本中。但是我对此并不满意。我宁愿在种子作业上添加Credentials参数。

问题是,Creds参数似乎将en ENV变量添加到包含USERID / PASSWORD的脚本中。 http://steve-jansen.github.io/blog/2014/12/16/parsing-jenkins-secrets-in-a-shell-script/

但是,git jobdsl似乎需要一个凭据ID,而不是USERID / PASSWORD。

如何解决这个僵局?

scm {
    git {
        remote {
            name('origin')
                url(repo)
                credentials(myCredential)
        }
        branch('master')
    }
}

3 个答案:

答案 0 :(得分:4)

可以在官方维基page上找到Job DSL处理凭据的方式的一个很好的介绍。

两个示例说明了如何将用户密码传递给Jenkins作业:

Template.messagestpl.helpers({
messagesList: function(){
        var conversation = Session.get('conversation');
        return conversation.messages();
}

答案 1 :(得分:2)

添加上面Duane的答案,CredentialID是存储在Jenkins中的凭据的唯一ID。您还可以提供自己的ID,以便以有意义的方式识别它。

Jenkins Credentials

在job-dsl脚本中使用上图中显示的此ID,它应该适合您。

和平。

答案 2 :(得分:0)

事实证明,问题的前提是错误的。 CredentialsPlugin 1.7将变量设置为credentialID。