Jenkins multibranch管道有多个起点

时间:2016-05-03 12:50:07

标签: jenkins jenkins-plugins jenkins-pipeline jenkins-2

我正在努力使用Jenkins 2.1 multibranch管道,我在同一个git存储库中构建了多个工件。一些工件是独立的,应该触发构建在各自目录中的更改。有些是依赖的,应该由先前的步骤/构建触发。

存储库有一个控制整个管道的Jenkins文件。 Jenkins Multibranch Pipeline作业会触发所有更改(无其他行为)。

我不知道如何获取工件A的构建只是为了触发目录dirA中的更改。

在file:/// repopath的git repo中的Jenkins文件如下所示:

node(){
  stage 'Build A'
    checkout([$class: 'GitSCM',
      branches: [[name: '*/master']],
      doGenerateSubmoduleConfigurations: false,
      extensions: [
        [$class: 'PathRestriction',
          excludedRegions: '.*',
          includedRegions: 'dirA/.*'],
      [$class: 'RelativeTargetDirectory',
        relativeTargetDir: 'sub']],
        submoduleCfg: [],
        userRemoteConfigs: [[url: 'file:///repopath']]])
    sh './buildA.sh'
}
node(){
   stage 'Build B'
   ...
}
...

这将始终触发buildA.sh的运行: - (

我正在使用以下插件:

  • Git客户端插件1.19.6
  • Git插件2.4.4
  • Git服务器插件1.6
  • Pipeline 2.0
  • 管道:API 2.0
  • 管道:基本步骤2.0
  • 管道:构建步骤2.0
  • Pipeline:Groovy 2.1
  • 管道:输入步骤2.0
  • 管道:工作2.1
  • Pipeline:Multibranch 2.3
  • 管道:节点和进程2.0
  • 管道:REST API插件1.3
  • Pipeline:SCM Step 2.0
  • 管道:共享Groovy Libraries 2.0
  • Pipeline:Stage Step 2.0
  • Pipeline:Stage View Plugin 1.3
  • 管道:步骤API 2.0
  • 管道:支持API 2.0

1 个答案:

答案 0 :(得分:1)

只做像

这样的事情
@(Foo x)

??如果您可以确定构建中的提交数量或其哈希值,那么这将回答您的问题。