In that case, you could try a stage with concurrency: 1
https://github.com/jenkinsci/workflow-plugin/blob/master/TUTORIAL.md#creating-stages

Vincent

2015-10-12 16:11 GMT+02:00 Nigel Magnay <[email protected]>:

> We use the multibranch-workflow. It's ace! :-)
>
> Not sure how it helps though. Our ITU suite is in the same repository on
> the same branch, it's currently split into a separate *job* in order to
> run at a lower cadence than the main build.
>
> e.g:
> Build #1: start 09:00. Enters ITU 09:10. Exits ITU 10:00
> Build #2 : start 09:10.  09:20 Waits @ ConsiderITU until 10:00
> Build #3 : start 09:30.  09:40 Waits @ ConsiderITU until 10:00
>
> At 10:00, Build #2 does not execute ITU step, but build #3 does.
>
>
> I could probably add a function, something like (pseudocode). Feels like a
> kind of global threadlock between projects which makes me wonder if there
> is already a higher-level construct already in existence.
>
>
> node('build') {
>
>    build();
>
>    if( shouldRunItu() )
>       runITU();
>    ..
> }
>
> runITU() {
>   stage "ITU";
> }
>
> bool shouldRunItu() {
>     stage "ConsiderITU";
>
>     while(true) {
>       def builds = get_list_of_builds_for_this_project_and_branch();
>       if( builds contains job in stage ITU )
>            sleep for a bit;
>       else {
>          def later_builds =
> filter_builds_that_are_bigger_buildnumber_than_us(builds);
>          def builds_itu =
> filter_only_items_passed_stage_ConsiderITU(later_builds);
>          return ( builds_itu == 0 );
>
>       }
>     }
> }
>
>
>
>
>
>
>
>
>
> On Mon, Oct 12, 2015 at 2:21 PM, Vincent Latombe <
> [email protected]> wrote:
>
>> Hi Nigel,
>>
>> as far as I understand your statement, I think the multibranch-workflow
>> plugin (currently in beta) could help.
>>
>> I'd get the current branch and only run the ITU stage only if it's
>> currently working on master.
>>
>> Vincent
>>
>> 2015-10-12 13:05 GMT+02:00 Nigel Magnay <[email protected]>:
>>
>>> I'm migrating a lot of fairly hairy infrastructure around to use
>>> jerkins-workflow.
>>>
>>> At the moment, we have a number of projects that use triggering: -
>>>
>>> proj-build
>>> proj-ITU
>>> proj-robot-tests
>>>
>>> What I want to migrate is - proj-build builds every commit. proj-ITU is
>>> very expensive, so it gets triggered on successful proj-build builds; but -
>>> it only builds against *master*, so multiple triggerings will just
>>> queue it to build once.
>>>
>>> I'm not sure the best way to model that in workflow (or even if that's
>>> the best option).
>>>
>>> Something like a stage that says
>>>
>>> 1) "if there is an 'ITU' stage currently building, wait until it
>>> finishes.
>>> 2) If there is another build, where the build number is later than us,
>>> and that build started the ITU stage (or is, like us, waiting to enter that
>>> stage) then exit. (I.E: no point in running integration tests against a
>>> version that's now stale).
>>>
>>> Is that something do-able in workflow?
>>>
>>> --
>>> 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/CAPYP83RtRLXwCSV8ZqbpoA_cBg4OSzV-G30s9RhMgYqaoP_Y5Q%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/jenkinsci-users/CAPYP83RtRLXwCSV8ZqbpoA_cBg4OSzV-G30s9RhMgYqaoP_Y5Q%40mail.gmail.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/CAH-zGCgaCCSoKzSHFS2i0uiiaBwA%2BQ98Raq%3D-KAmRpTE-n9HWw%40mail.gmail.com
>> <https://groups.google.com/d/msgid/jenkinsci-users/CAH-zGCgaCCSoKzSHFS2i0uiiaBwA%2BQ98Raq%3D-KAmRpTE-n9HWw%40mail.gmail.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/CAPYP83SXD_4C9GhPKRymh7OM%3DwZFdhROcgYEsOtnU7kWSNp%3Dcw%40mail.gmail.com
> <https://groups.google.com/d/msgid/jenkinsci-users/CAPYP83SXD_4C9GhPKRymh7OM%3DwZFdhROcgYEsOtnU7kWSNp%3Dcw%40mail.gmail.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/CAH-zGCgu9yXnnSZM73-6TFn%3DgBao1bvf39OWkb_smqEn_YiW_A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to