0

我已经查看了生成的“可能已经有你答案的问题”以及谷歌搜索的许多变体。发现 2 个场景使用了不同的解决方案,这不符合我们的需求。-从主干或分支构建' - SVN URL 变量 我试图实现的最终结果是一个监视所有分支下的特定项目的单一工作。例如,签入 svn://svn.host/branches/*/project/code/place 将触发构建。我尝试使用正则表达式对 svn URL 进行通配符,并继续收到 URL 无效的通知。有没有人能够配置一个 Jenkins 作业来监视多个分支下的特定目录?提前感谢您的任何帮助。

4

1 回答 1

0

如果您希望监控一组有限的分支,那么您可以使用 SVN 配置中的“添加更多位置”按钮单独定义它们。

如果您有更复杂的配置,那么您可以通过使用Job DSL Plugin重新配置您的主要工作来实现这一点,该插件允许使用 groovy 重新配置工作

def branches

"svn ls svn://XXX/branches/".execute().with { br ->
  branches  = text.split()
  br.waitFor()
}

job{
  using "__xxxxx" //important or it replaces job with only svn entries
  name  "__xxxxx"
  scm{

    svn( 'svn://XXX/trunk/a/bit/deeper', 'trunk')
    {
      branches.each(){ br ->
        it / locations << 'hudson.scm.SubversionSCM_-ModuleLocation' {
          remote "svn://XXX/branches/${br}/a/bit/deeper"
          local "${br}"
        }
      }
    }
  }
}
于 2013-09-13T01:10:13.770 回答