Praqma / praqma-rnd

Praqma research and development work issue tracker
MIT License
0 stars 1 forks source link

Jenkins pipelines research (join-fork + rolling updates) #23

Open timea opened 7 years ago

timea commented 7 years ago

Situation:

image2

Product 1

Product 2

image1

Assumption: with Pipelines, we keep our pipeline configuration next to our code. On a git commit as a trigger, this pipeline file is read and the pipeline is updated,

Problem:

(picture 1) As it is easy to see, component D extends the build time significantly. We want to make sure that the build of Product 1 is not waiting for component D’s compiling as that is purely lost time for Product 1 (only Product 2 is depending on it).

(picture 2) We also want to make sure that if we do a commit 1, triggering the build of all components, and the long build of component D is still running when we do a commit 2, that Product 2 that depends on all components, will get not the build of component A triggered by commit 2, but the one which was triggered with commit 1.

Solution:

To test with a git repo, the components and products will be jobs, all orchestrated in one pipeline.

The way we make sure the correct git commit is built in the different builds is to pass down a string to the products.

buep commented 7 years ago

Okay, sound on high level what we discussed. Remember the details about easily track the correct git commits using echo into file or parametrized builds.

Make sure to commit everything so we can replay the use cases.