Can you put your lock step inside a steps block? We still use Imperative
Pipeline so I'm less familiar with Declarative Pipeline. But it seems like
inside a step block that NODE_NAME should resolve correctly, because--I
think--the block is running in a node context.
On Monday, February 11, 2019 at 5:33:44 AM UTC-8, Vitaly Karasik wrote:
>
> I started to play with the lockable resources plugin.
> I'd like to prevent parallel execution of my pipeline (multibranch
> pipeline) on the same Jenkins slave, so I tried to use "$NODE_NAME" as
> lockable resource, like this:
>
> pipeline {
> agent { label 'slave-parallel' }
> options {
> lock ("${NODE_NAME}")
> }
>
> stages()
> {
> ......
> }
>
> But unfortunately $NODE_NAME isn't available on this step. Is there simple
> workaround for thaT?
>
> On Thursday, January 31, 2019 at 11:43:30 AM UTC+2, Daniel Butler wrote:
>>
>> You could use the lockable resources plugin (v2.2+):
>>
>> Set up a single resource for each node and give them all a common label
>>
>> Then your Jenkinsfile would be:
>>
>> lock(label: "common-label", variable: "LOCKED_NODE"){
>> node(env.LOCKED_NODE){
>> //build project
>> }
>> }
>>
>> Regards,
>> Daniel.
>>
>> On Thu, Jan 31, 2019 at 7:48 AM Vitaly Karasik <[email protected]> wrote:
>>
>>> I'd like to mark *whole* pipeline job as throttling resource; and unlike
>>> freestyle jobs, Throttleling plugin does't know to do that. I.e. I cannot
>>> use "throttle" in pipeline options.
>>>
>>> On Wednesday, January 30, 2019 at 7:47:20 PM UTC+2, Den Slobozhanskyi
>>> wrote:
>>>>
>>>> Just to clarify - does it mean that Throttling plugin throttles not the
>>>> job as a whole, but each step in parallel? My assumption was that
>>>> throttling is only for the job, and nested threads have nothing to do with
>>>> throttle. By your words it looks like setting throttling to "1" for the
>>>> job
>>>> reduce the possible parallel threads execution to a single thread at a
>>>> time
>>>> as well, is that true?
>>>>
>>>> If this is not true, you just gather all the jobs under one throttling
>>>> category and set the concurrent builds limit to 1.
>>>>
>>>> BR,
>>>> Denys
>>>>
>>>> среда, 30 января 2019 г., 14:17:15 UTC+1 пользователь Vitaly Karasik
>>>> написал:
>>>>>
>>>>> I have multibranch job, whole pipeline runs on certain node.
>>>>>
>>>>> Currently I have a slaves with single executor, so multiple jobs
>>>>> cannot run on the same node. I'd like to use parallel steps inside my
>>>>> pipeline, so I need to increase number of executors.
>>>>>
>>>>> What is the best way to prevent concurrent job execution?
>>>>>
>>>>> Such configuration was trivial with Jenkins freestyle job and
>>>>> Throttling plugin - I simple used "Maximum Concurrent Builds Per Node".
>>>>> But
>>>>> in pipeline it seems that I cannot use "throttle" for whole pipeline, I
>>>>> need to use it for each step. Is there more elegant solution?
>>>>>
>>>>> TIA, Vitaly
>>>>>
>>>> --
>>> 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/d6b76faf-f9e6-4960-8dc5-ab79c6c6ac0f%40googlegroups.com
>>>
>>> <https://groups.google.com/d/msgid/jenkinsci-users/d6b76faf-f9e6-4960-8dc5-ab79c6c6ac0f%40googlegroups.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/7eabfb51-9587-41c8-a40e-7fdbc9f92416%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.