I don't think what you want is available. You can construct a job which defines the pipeline script for execution in that job.
You can construct a job which automatically defines jobs for every branch where it finds a pipeline script and it will execute that script. You can construct a job which automatically defines jobs for every branch and will execute a build step (which seems quite close to what you're seeking). I'm not aware of a way to make a pipeline script a build step. Can you explain why you don't want others to be able to improve the pipeline definition as they find issues with it? Mark Waite On Sat, Aug 13, 2016 at 9:32 AM Arvind Jayaprakash <[email protected]> wrote: > I seem to have developed a love/hate relationship with Jenkins 2.x > pipelines and some of the concepts that it imposes. Hence, I'd like to hear > how best operate in the new world. The one thing I'd like to make clear > before I get into the details is that I am suggesting that this the only > right way to do things; all I am looking to hear is Jenkins 2.x would be > able to support this as one of the many models. > > Firstly, let me describe the development model that I'd like to work with. > The setup I have is very similar to how a lot of github bases open source > projects operate i.e. the main repo very rarely has any branches. All > development is done by forking the code, making any number of branches > within forks and finally submitting a pull request to the *main/parent* git > repository. There is a fairly elaborate acceptance criteria for a pull > request to be accepted into the mainline and this is the workflow that I'd > like to trigger and run as a pipeline. The way I have been doing this until > now is by having a github pull request builder > <https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin> > triggered job that sets of a series of steps within a freestyle job and > then having downstream jobs associated with it. It is not clear as to how > one would setup something using the pipeline construct. > > Secondly, I do not wish to provide the flexibility of defining the > pipeline (at least in it's current form) to individual developers. The > design choice of needing a Jenkinsfile in the each git repo (and branch) > seems equivalent to allowing developers to define their own freestyle jobs > in Jenkins 1.x. The model that I have been following is to have a > predefined set of templates (setup using the Job DSL > <https://wiki.jenkins-ci.org/display/JENKINS/Job+DSL+Plugin>) from which > the developer can choose along with a minimal set of parameters such as the > path of the git repo, the email addresses for notification, choice of JRE, > etc. etc. to instantiate specific jobs for their code bases. I'd like to > retain this degree of control/standardization as we move into Jenkins 2.x. > > In short, I am looking for a way by which I can confine myself to the fork > model of git development, pull request based triggers, and job definitions > as pipelines, with the pipeline definition residing on jenkins (and not the > developer's source tree). > > -- > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jenkinsci-users/5a534ac7-dedb-476f-8748-a25268419fe5%40googlegroups.com > <https://groups.google.com/d/msgid/jenkinsci-users/5a534ac7-dedb-476f-8748-a25268419fe5%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAO49JtEG4h%2BvpvWK1cH3JWp1A4wFP1iAZ7u3gxu_LmtXtFmBjA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
