What is the difference between Build pipeline and Delivery pipeline in Jenkins? - jenkins

I would appreciate if anyone could briefly point out what the difference between Build and Delivery pipelines in Jenkins? Are they the same with different producers?

I don't have a depth knowledge of both plugin but from my experience, the subtle difference between the Delivery Pipeline Plugin and Build Pipeline Plugin is that the first one allows you to use Freestyle Jobs and Pipeline Jobs while the second one only allows Freestyle Jobs.
So if you're using Shared Libs for your pipelines and want to use any of this plugins to have an overview of downstream and upstream Jobs you should definitely go for Delivery pipeline plugin
Build Pipeline Plugin:
https://plugins.jenkins.io/build-pipeline-plugin/
Delivery Pipeline Plugin:
https://plugins.jenkins.io/delivery-pipeline-plugin/

Related

Jenkins build history for all jobs

I'am using Jenkins and I would like to have statistics of all builds executions.
I'am already using the plugin "build-metric" but pipeline jobs are not included in the statistics.
How to include pipeline jobs in the result of this plugin ? Or do you know an another plugin which include pipeline job ?

Continuous deployment branch wise using Spinnaker

I'm using Jenkins multibranch pipeline for CI process and for CD using Spinnaker.
I've gone through almost all documents, support channels etc. from spinnaker for "how to create spinnaker multibranch pipeline similarly as jenkins" but didn't find anywhere.
After integrating jenkins to spinnaker, in drop down list of jenkins jobs in spinnaker pipeline configuration, it shows all multibranch jobs separately. Hence for each branch I'd need to go to spinnaker and create pipeline manually.
To solve this, I'm thinking this solution: while running jenkins multibranch pipeline job > create spinnaker pipeline(if not exist) using spin cli with required parameters(branch, version, trigger using jenkins of this running branch job etc) > and trigger the same created spinnaker pipeline after jenkins job executed.
Please advise if there is any other better way to accomplish this.
Thanks.
I am not super familiar with the multibranch plugin, but you can make this simpler by doing [ triggers ] -> [ pipeline stage calling the same pipeline ] rather than calling the entire pipeline via the spin-cli.
Alternatively, if the list of jobs generated is small or well known, you could just update the list of triggers for the same pipeline programmatically as part of your release process.
i.e, in your jenkins job
add this job to list of triggers
run rest of jenkins job
job finishes, spinnaker pipeline triggers

Trigger Jenkins Multibranch Pipeline Scan from another job

Is it possible to trigger Scan Multibranch Pipeline Now action for a Jenkins Multibranch Pipeline from another Job? I have certain issues integrating my old version of Gitlab with Pipeline Jobs in Jenkins and came upon such a workaround.
Alternatively, would it be possible to trigger Scan Multibranch Pipeline Now with a notifyCommit web hook?
The purpose of this would be to Scan Multibranch Pipeline whenever a change occurs in the Git repo, so that new branches are detected after such a change.
Another purpose, which I am unable to achieve otherwise (except for periodic polling per branch which is plain evil to me), is to trigger build of branches affected by given changeset. I use old GitLab (7.8) which does not work with the ordinary Gitlab plugin and the Gitlab Hook plugin does not work with pipeline jobs, so my workaround would be to have an non-Pipeline Job to be triggered by Gitlab Hook plugin and this job would in turn trigger Scan Multibranch Pipeline.
Turned out that simple notifyCommit web hook did the job

Diffrence between buildflow, multijob and pipeline plugin

what is the difference between buildflow, multijob and pipeline plugin.
If i have jobs need to run on the same node sequentially, which one should i use and why?
I have some parameters that are to be shared by all the jobs. I can do it using multijob and build flow also. which one is preferable?
I am confused.
Use the Pipeline plugin.
From the Build Flow plugin page:
"Deprecated: Users should migrate to https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin"
If you're starting from scratch, the answer is basically the same for the Multijob plugin (prefer the pipeline plugin). The Multijob plugin was created pre-jenkins-2, and the pipeline plugin has implemented much of its functionality. Pipeline is one of the default plugins and is being actively maintained by multiple developers. Here is someone migrating from Multijob to Pipeline in 2016.

Allow promotion of job in Jenkins pipeline

I have a Jenkins pipeline which is responsible for about 5 stages (build and several different tests). I'm migrating from Jenkins 1.XX (with no pipelines) to Jenkins 2 and I'd like to replicate my process as closely as possible. The pipeline job I have set up on J2 handles everything exactly the same except it's using a JenkinsFile. The only issue is that the pipeline plugin does not appear to support Promotion of particular builds like you can do with Freestyle Jobs. Has anyone found a way around this?
Seems like Promoted Builds Plugin doesn't support pipelines yet. If you check the issue there is also some good pros and cons about supporting it for pipelines.

Resources