Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-35415

Multiple branch projects per repository with different recognizers

    Details

    • Type: New Feature
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Component/s: branch-api-plugin
    • Labels:
      None
    • Environment:
      Jenkins 2.3
    • Similar Issues:

      Description

      As a developer/QA... It could be necessary to have multiple build methods/options on a project. And it could be possible if we could have 2 or more multibranch project on the same git project, but with different jenkinsfile file.

        Attachments

          Issue Links

            Activity

            Hide
            jglick Jesse Glick added a comment -

            Correct.

            With JENKINS-34561 you could create separate organization folders, one per filename. But there is not currently any mechanism in branch-api to create distinct branch projects for the same branch inside a single MultiBranchProject, nor to create distinct MultiBranchProject for the same repository inside a single OrganizationFolder. In principle it could do so, perhaps appending some sort of disambiguating name prefix to each, though the configuration screen would get pretty complicated I am afraid. At that point I am inclined to reject feature bloat like this in favor of a more generic system like that (sketchily) proposed in JENKINS-37220.

            Show
            jglick Jesse Glick added a comment - Correct. With  JENKINS-34561  you could create separate organization folders, one per filename. But there is not currently any mechanism in branch-api to create distinct branch projects for the same branch inside a single MultiBranchProject , nor to create distinct MultiBranchProject for the same repository inside a single OrganizationFolder . In principle it could do so, perhaps appending some sort of disambiguating name prefix to each, though the configuration screen would get pretty complicated I am afraid. At that point I am inclined to reject feature bloat like this in favor of a more generic system like that (sketchily) proposed in  JENKINS-37220 .
            Hide
            gloparm Gabriel Lopez added a comment - - edited

            Hi Jesse Glick

            I understand that cloudbees doesn't have a reason to do it, but are there any plans on releasing that functionality of CloudBees Pipeline: Template to non-enterprise users? 

            I'm referring to custom code as pipeline.

            Show
            gloparm Gabriel Lopez added a comment - - edited Hi Jesse Glick .  I understand that cloudbees doesn't have a reason to do it, but are there any plans on releasing that functionality of  CloudBees Pipeline: Template  to non-enterprise users?  I'm referring to custom code as pipeline .
            Hide
            jglick Jesse Glick added a comment -

            I cannot comment except to say that I am unaware of any public commitment to do so.

            Show
            jglick Jesse Glick added a comment - I cannot comment except to say that I am unaware of any public commitment to do so.
            Hide
            hrmpw Patrick Wolf added a comment -

            Gabriel Lopez We have no plans to open source this functionality at this time. This feature is typically needed by larger organizations or enterprises with strict governance controls to enforce a single Pipeline.

            Using Shared Libraries in Pipeline allows users to create a common pipeline that can be reused across all repositories. Depending on the type of Pipeline you want to create the Jenkinsfile can be a single line or a simple conditional:

             

            if (BRANCH_NAME == 'master') {
              runDeploy()
            } else {
              runSimpleBuild()
            }

            The entire Pipeline for a deployment or a simple build is then defined in the Shared Library and the end user doesn't have to write anything.

             

            cc: Cyrille Le Clerc

            Show
            hrmpw Patrick Wolf added a comment - Gabriel Lopez We have no plans to open source this functionality at this time. This feature is typically needed by larger organizations or enterprises with strict governance controls to enforce a single Pipeline. Using Shared Libraries in Pipeline allows users to create a common pipeline that can be reused across all repositories. Depending on the type of Pipeline you want to create the Jenkinsfile can be a single line or a simple conditional:   if (BRANCH_NAME == 'master' ) { runDeploy() } else { runSimpleBuild() } The entire Pipeline for a deployment or a simple build is then defined in the Shared Library and the end user doesn't have to write anything.   cc: Cyrille Le Clerc
            Hide
            gloparm Gabriel Lopez added a comment -

            Thanks!. We are running into a similar use case and we are looking at possibilities to solve it. The aforementioned plugin was one, but maybe Shared libraries will do the trick.

            Thanks again for the info!.

            Show
            gloparm Gabriel Lopez added a comment - Thanks!. We are running into a similar use case and we are looking at possibilities to solve it. The aforementioned plugin was one, but maybe Shared libraries will do the trick. Thanks again for the info!.

              People

              • Assignee:
                Unassigned
                Reporter:
                elliotmoso Elliot Morales
              • Votes:
                28 Vote for this issue
                Watchers:
                32 Start watching this issue

                Dates

                • Created:
                  Updated: