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 <vincent.lato...@gmail.com>
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 <nigel.mag...@gmail.com>:
>
>> 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 jenkinsci-users+unsubscr...@googlegroups.com.
>> 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 jenkinsci-users+unsubscr...@googlegroups.com.
> 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 jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/CAPYP83SXD_4C9GhPKRymh7OM%3DwZFdhROcgYEsOtnU7kWSNp%3Dcw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to