Hi,

I have a set of jobs that I want to integrate using a common Workflow. Some 
of them contains complex plugin configuration that is hard to duplicate 
within a workflow, i.e. xunit plugin, extended email, etc.
Concurrent executions of this workflow should be allowed. At the same time 
I have a bunch of slaves each with only one executor (to lock non-shareable 
resources). In addition it should be guaranteed that no other job is able 
to grab the node in the middle of the workflow, so that

node('slave1'){
    build('step_1')
}
node('slave1'){
    build('step_2')
}

approach is not applicable as a concurrent execution may be wedged in 
between two steps.
 
My initial desire was to allocate a node within a workflow and then call 
build() within its closure, I thought those jobs will use the same executor 
as the workflow. However, it's not like that, the child job also want to 
grab an executor.

node('slave1'){ //will hang infinitely if slave1 has only one executor
    build('step_1')
    build('step_2')
}

So my question: is it possible to share an executor allocated by a workflow 
with child jobs? Or lock it in any other way?

I found this JIRA on locks support for Workflow: 
https://issues.jenkins-ci.org/browse/JENKINS-30269. It seems that at the 
moment there is no consistent way for locking in Workflow. Maybe there is 
some workaround?

Thanks,
Nick

-- 
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/167298fc-17bb-4901-bbed-cf1d85f4933a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to