The git plugin provides some capabilities that are used in Freestyle
projects but are not usable or are not the best choice when using a
multibranch pipeline.  Path restrictions is one of those capabilities.
Rather than using the path restrictions from inside the checkout step in
the Jenkinsfile, you'll need to use the Pipeline: Multibranch build
strategy plugin
<https://plugins.jenkins.io/multibranch-build-strategy-extension/>.

If you need to ignore changes by specific authors, you'll need to use
the Ignore
committer strategy plugin
<https://plugins.jenkins.io/ignore-committer-strategy/> rather than using
the git plugin facility that is similar.

Those strategies provide a higher level implementation for multibranch
pipelines.  The higher level implementation can work for multiple SCM
providers.

Mark Waite

On Mon, Feb 15, 2021 at 5:02 AM Ven H <venh....@gmail.com> wrote:

> I have a GitHub repository and a multi-branch pipeline job. I am trying to
> exclude some paths from triggering builds, but can't get it to work. Any
> help would be appreciated. Here are the details.
>
> GitHub URL: https://github.com/<my-org>/<project-name>.git
>
> The project has App, DB and Config. DB and Config folders are inside the
> App. App is at the root level. There are 3 multibranch jobs and 3
> Jenkinsfile at the following paths.
>
> <project-name>/Jenkinsfile
> <project-name>/db/Jenkinsfile
> <project-name>/config/Jenkinsfile
>
> Requirement is to ensure that a change in a file inside DB directory
> shouldn't trigger a build for App. PFB the checkout step in the App
> Jenkinsfile.
>
> checkout([
> $class: 'GitSCM',
> branches: [[name: "*/${BRANCH_NAME}"]],
> doGenerateSubmoduleConfigurations: false,
> extensions: [[$class: 'DisableRemotePoll'],[$class: 'PathRestriction',
> excludedRegions: '<project-name>/db/.*', includedRegions: ''],
> [$class: 'RelativeTargetDirectory', relativeTargetDir: "<my-folder-path>"]
> ],
> gitTool: "<my-git-portable>",
> submoduleCfg: [],
> userRemoteConfigs: [
> [
> credentialsId: "<my-creds>",
> url: "https://github.com/<my-org>/<project-name>.git"
> ]
> ]
> ])
>
> I have tried various combinations for excludedRegions like below. I tried
> generating the above syntax using the Pipeline Syntax with the option
> "Polling ignores commits in certain paths"
>
> 1. <project-name>/db/.*
> 2. <project-name>/db/**/*
> 3. db/.*
> 4. db/**/*
> 5. With and without "includedRegions"
> 6. With and without DisableRemotePoll (Force Polling using Workspace)
>
> None of the above seems to be working. Can anyone please help me with this?
>
> Regards,
> Venkatesh
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jenkinsci-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/CAPp28eoqYt2Z2VptVZG2Pi0qF%2BT01e7XeHWfDh5eXAeTiFMcyg%40mail.gmail.com
> <https://groups.google.com/d/msgid/jenkinsci-users/CAPp28eoqYt2Z2VptVZG2Pi0qF%2BT01e7XeHWfDh5eXAeTiFMcyg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/CAO49JtF-jii9qmm8b6E9Cst19WRix7ntOtQdGBZozcHqwVHXxQ%40mail.gmail.com.

Reply via email to