I'm starting to use pipeline to define a continuous integration & delivery but I have a more complex workflow to setup.
It's not the classic build: 1 application -> tests -> delivery
But to build the application I have to build differents components (different Git projects) (In my sample B1, B2, B-Final) and they have 'Snapshot' dependencies if I would like to have a continuous build and better feedback response time
After we can have differents tests T1, T2 + delivery to alpha env
The workflow
B1 -> B2 -> B-Final -> T1 -> T2 -> Delivery
Questions:
- Do we have an easy method to isolate 'SNAPSHOT' between pipeline build? Like a jenkins artifact copy between jobs and not using maven central repository.
Or do we have to implement manually something like: set version -SNAPSHOT by -SNAPSHOT<pipeline number> for each maven projects.
With this change each maven project will use SNAPSHOT built during this specific pipeline
- Is it possible to trigger pipeline with a commit from B1 or B2. I mean we can have the 2 following workflow:
B1 -> B2 -> B-Final -> T1 -> T2 -> Delivery (with B2 using B1 latest snapshot)
B2 -> B-Final -> T1 -> T2 -> Delivery (with B2 using B1 latest release)
Do we have to implement a different JenkinsFile on each maven projects: B1, B2... with same tests & delivery code?
- Do we have a nice view to see parallel steps in pipeline view?
Like the multijobs jenkins job with parallel phase.
I'm using jenkins MultiJob project today and checking if I can use pipeline project to implement my continuous integration & delivery workflow
Thanks for your help