将SCM凭据添加到Jenkins中通过DSL创建的作业

时间:2016-07-07 20:42:15

标签: svn jenkins version-control credentials jenkins-job-dsl

我正在尝试自动构建SVN分支中的项目。我正在使用DSL为每个项目创建新的工作,然后单独构建它们。我可以通过循环遍历每个项目来创建新作业:

job('JobName') {
    scm {    
        svn('MyURL')                    
    }
}

但是,url是内部的,需要用户名和密码组合才能让Jenkins能够从SVN签出。我知道可以使用UI轻松完成,但对于大量项目,这需要自动化。我们如何在DSL中提供此凭证?理想情况下,有一种方法可以将其与Url一起指定为SVN。 我花了一整天的时间来寻找答案而没有太多运气,并且非常感谢任何帮助

由于

1 个答案:

答案 0 :(得分:1)

svn方法在嵌套块中有更多选项,也允许指定凭据:

job('example') {
  scm {
    svn {
      location('https://svn.mydomain.com/repo/project2/trunk') {
        credentials('company-svn')
      }
    }
  }
}

在这种情况下,company-svn是由Credentials Plugin管理的凭据的标识符。

您可以在Job DSL API Viewer中找到所有支持的选项: https://jenkinsci.github.io/job-dsl-plugin/#path/job-scm-svn-location-credentials