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 jenkinsci-users+unsubscr...@googlegroups.com.
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