0

One of the github repository is resource for my pipeline. I have 3 parallel jobs in my concourse pipeline which gets triggered when there is any checkin to the github repository. Other jobs in the pipeline is in sequence. I am having the below issues:

1) I want the pipeline to complete full execution then only start new run. I am using pool resource to make sure the execution completes then only new run is triggered. Is there a better way to resolve it.

2) If there are multiple checkins while the pipeline is in progress then is there a way to only execute pipeline on the last checkin. For example 1st instance of pipeline is running and while the pipeline execution completes there are 6 checkins in the repository. Can the pipeline pick only 6th version of the repos and purge the run for previous five checkins?

Srbh
  • 1
  • 1

1 Answers1

0

using the lock pool resource is almost the perfect option but as you have rightly caught, there will be a trigger for each git commit and jobs will start to queue.

It sounds like you want this pipeline to be serialised. Have you considered serial_groups http://concourse-ci.org/single-page.html#job-serial-groups

  • Thanks for the reply.I tried using serial_groups. Job-A and Job-B are parallel jobs. Job-C and Job-D are executed when the previous job passed. I saw that when Job-C was is progress A and B was not triggered however once Job-C completed again Job-A and Job-B was triggered. I expected Job-D to be triggered after Job-C completed.Could you please suggest how to serialize my pipeline. Job-A serial_groups: [serial-group-1] job-B serial_groups: [serial-group-2] Job-C serial_groups: [serial-group-1,serial-group-2] Job-D serial_groups: [serial-group-1,serial-group-2] – Srbh Mar 27 '18 at 11:29