[JIRA] (JENKINS-43336) Allow locking multiple stages in declarative pipeline
Title: Message Title Liam Newman closed an issue as Duplicate Bulk closing resolved issues. Jenkins / JENKINS-43336 Allow locking multiple stages in declarative pipeline Change By: Liam Newman Status: Resolved Closed Add Comment This message was sent by Atlassian Jira (v7.13.6#713006-sha1:cc4451f) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-issues/JIRA.180480.1491314846000.16713.1571801055608%40Atlassian.JIRA.
[JIRA] (JENKINS-43336) Allow locking multiple stages in declarative pipeline
Title: Message Title Andrii Vozniuk commented on JENKINS-43336 Re: Allow locking multiple stages in declarative pipeline Hi, just wanted to add that we have the same problem where we need to lock multiple stages at once for atomicity (environment build and integration tests go together). Also, we need to parametrise the lock with the environment against which the build is done: it is ok to have parallel builds against different environments, but not against the same one. As it looks, currently the multistage lock is available only in the options section which does not support environment parameters. Hence, it looks that we can not achieve what we need. Add Comment This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-43336) Allow locking multiple stages in declarative pipeline
Title: Message Title Philipp Abraham edited a comment on JENKINS-43336 Re: Allow locking multiple stages in declarative pipeline ` {{ env ` }} is not available in ` {{ options ` }} I think, but you could try getting the node name from the API: {code:java} ``` stage('Parent') { options { lock("${currentBuild.getRawBuild().getExecutor().getOwner().getDisplayName()}") } stages { stage('first child') { ... } stage('second child') \ { ... } } } ``` }{code} Add Comment This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-43336) Allow locking multiple stages in declarative pipeline
Title: Message Title Philipp Abraham edited a comment on JENKINS-43336 Re: Allow locking multiple stages in declarative pipeline `env` ist is not available in ` options ` I think, but you could try getting the node name from the API:```stage('Parent') { options { lock("${currentBuild.getRawBuild().getExecutor().getOwner().getDisplayName()}") } stages { stage('first child') { { ... } stage('second child') \ { ... } }}``` Add Comment This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-43336) Allow locking multiple stages in declarative pipeline
Title: Message Title Philipp Abraham commented on JENKINS-43336 Re: Allow locking multiple stages in declarative pipeline `env` ist not available in options but you could try getting the node name from the API: ``` stage('Parent') { options { lock("${currentBuild.getRawBuild().getExecutor().getOwner().getDisplayName()}") } stages { stage('first child') { ... } stage('second child') { ... } } } ``` Add Comment This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-43336) Allow locking multiple stages in declarative pipeline
Title: Message Title Dusan Nikolov commented on JENKINS-43336 Re: Allow locking multiple stages in declarative pipeline Just wanted to +1 on Ryan Rueth's comment regarding locking multiple stages with lock named after $NODE_NAME. Pretty much in the same situation, and I'd like to know if this can be supported - either by enabling options block to execute after agent has been assigned for a given stage, or through some other means if this is not an option. Andrew Bayer do you know if this could be possible? Add Comment This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-43336) Allow locking multiple stages in declarative pipeline
Title: Message Title Ryan Rueth commented on JENKINS-43336 Re: Allow locking multiple stages in declarative pipeline Andrew Bayer, I'm trying to lock multiple stages based on the Jenkins node on which the stages will execute. It seems like the only way to do this is using the `options` block that you specified: stage('Parent') { options { lock("${env.NODE_NAME}") } stages { stage('first child') { ... } stage('second child') { ... } } } Unfortunately, the resource this attempts to lock is `null`: Trying to acquire lock on [null] It appears that this won't work because the stage's `options` directive occurs before entering the agent. The declarative pipeline syntax documentation says: Inside a stage, the steps in the options directive are invoked before entering the agent or checking any when conditions. Is there any way to lock multiple stages for a single env.NODE_NAME? Ideally, other subsequent stages could still run in parallel with other builds (i.e. so limiting executors to 1 or disabling concurrent builds are not options). Add Comment This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to
[JIRA] (JENKINS-43336) Allow locking multiple stages in declarative pipeline
Title: Message Title Vivek Pandey updated an issue Jenkins / JENKINS-43336 Allow locking multiple stages in declarative pipeline Change By: Vivek Pandey Sprint: Declarative - 1.2 , Pipeline - Candidates Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-43336) Allow locking multiple stages in declarative pipeline
Title: Message Title Worry Darque edited a comment on JENKINS-43336 Re: Allow locking multiple stages in declarative pipeline [~abayer] I'm not so sure about this, as this only works if we would be allowed to wrap the substages inside an "lock" declaration, which, as of now, would be impossible as lock is not a valid direct child of a stage (has to be nested inside steps).I tried {code:java}stage('Build Editor') {lock("myLock") {steps {//...}}}{code},{code:java}stage('Build Editor') {lock("myLock") {parallel {stage("ReallyBuild") {steps {//...}}}}}{code} as well as {code:java}stage('Build Editor') {parallel {lock("myLock") {stage("ReallyBuild") {steps {//...}}}}}{code} to no avail, as it fails with{quote}No "steps" or "parallel" to execute within stage {quote} or{quote}No stages specified ...{quote} Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-43336) Allow locking multiple stages in declarative pipeline
Title: Message Title Andrew Bayer commented on JENKINS-43336 Re: Allow locking multiple stages in declarative pipeline JENKINS-46809 will give you what you need on top of what's already available from JENKINS-48380, so that you could do something like: stage('Parent') { options { lock('myLock') } stages { stage('first child') { ... } stage('second child') { ... } } } Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e) -- You received this message because you are subscribed to the Google Groups "Jenkins Issues" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-issues+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
[JIRA] (JENKINS-43336) Allow locking multiple stages in declarative pipeline
Title: Message Title Worry Darque commented on JENKINS-43336 Re: Allow locking multiple stages in declarative pipeline Andrew Bayer I'm not so sure about this, as this only works if we would be allowed to wrap the substages inside an "lock" declaration, which, as of now, would be impossible as lock is not a valid direct child of a stage (has to be nested inside steps). I tried stage('Build Editor') { lock("myLock") { steps { //... } } } , stage('Build Editor') { lock("myLock") { parallel { stage("ReallyBuild") { steps { //... } } } } } as well as stage('Build Editor') { parallel { lock("myLock") { stage("ReallyBuild") { steps { //... } } } } } to no avail, as it fails with No "steps" or "parallel" to execute within stage Add Comment This message was sent by Atlassian JIRA (v7.3.0#73011-sha1:3c73d0e)