How to discover Jenkinsfile in subfolders

Jesper Rønn-Jensen picture Jesper Rønn-Jensen · Oct 12, 2017 · Viewed 9.6k times · Source

I have a project with two folders, that are independent, and needs separate builds in Jenkins (running v2.74)

My structure is

folder
├── project1
│   └── Jenkinsfile
└── project2
    └── Jenkinsfile

When I click "scan organization" in Jenkins, it doesnt discover the Jenkinsfiles in subdirectories.

Here is a sample from the "Scan organization log":

Proposing kg-pipeline
Examining my-test-project

  Checking branches...

  Getting remote branches...

    Checking branch jenkins
      ‘Jenkinsfile’ not found
    Does not meet criteria

    Checking branch master
      ‘Jenkinsfile’ not found
    Does not meet criteria

  2 branches were processed

Finished examining my-test-project

I didnt touch the configuration of the job that scans the organization and finds branches with Jenkinsfiles. Here is the current setting for the project

Jenkinsfile discoverability configuration

My question is: How do I configure Jenkins to see each folder individually? I am also interested in links to example projects set up this way.

Answer

Ray Kim picture Ray Kim · Jun 21, 2018

There is a simple solution.

  1. go to JENKINS_URL/job/JOB_NAME/configure
  2. under Build Configuration, select by Jenkinsfile for Mode
  3. under Script Path, set it to DIR_NAME/Jenkinsfile

For instance, if you had your Jenkinsfile inside a src directory, then you would set it to src/Jenkinsfile and Jenkins will be able to find the Jenkinsfile now