从git触发jenkins管道

9rnv2umw  于 2022-11-21  发布在  Jenkins
关注(0)|答案(1)|浏览(165)

我希望jenkins管道在分支中的特定文件夹发生更改时触发。
因此,假设在主分支中,我有几个文件夹,例如,folderA、folderB、folderC,如果我向folderB添加了一些内容,那么只有jenkins管道应该被触发。
向folderA和folderC添加任何内容都不应触发管道
我正在从Jenkinsfile导入Jenkins管道,并使用相同的Jenkinsfile触发该管道
触发代码如下

steps {
buildname "buildname"
cehckout (
    poll: false,
    scm:[
      $class: 'GitSCM', branches: [[name:"master"]],
      userRemoteConfigs:[[
       credentialsId: 'credential',
       url:'git url']]
     ]
   )
}

使用此代码,所有文件夹中的任何更改都会触发管道。
我还尝试使用FS触发器插件,但无法在FS触发器文件夹部分提供文件夹路径。将更改应用于管道时出错

wwtsj6pe

wwtsj6pe1#

您可以使用changeSet来确定哪些文件夹发生了更改,还可以添加when {}条件以跳过构建阶段。

stage('build folderB') {
        when {
            changeset "folderB/**"
        }
        steps {
            // Do your Stuff
        }
    }

相关问题