Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-31801

Pipeline Support in Throttle Concurrent Builds

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      I am looking to use Throttle Concurrent Builds in a WorkFlow. I have jobs that perform automated, scheduled testing, as well as user-initiated jobs. All these jobs compete for the same set of hardware resources to run tests against. I'm currently using BuildFlows for all this and Throttle Concurrent Builds works fine. My problem is that I want to use the WorkFlow plugin for the automated jobs but TCB does not natively support WorkFlows.

      I've read that people dedicate a Node per unit of hardware to solve this problem. That's not a good solution for me since I can have 10-20 hardware units. I've also ready about people using a WorkFlow Stage, but this also doesn't work because of the user-initiated jobs that are outside of the WorkFlow.

      I've seen a presentation by CloudBees that appears to indicate that a WorkFlow can be used with any plugin, even if the plugin does not have native WorkFlow support. Is this possible for TCB and/or is there TCB support planned for WorkFlow?

      Thanks,

      Dave

        Attachments

          Issue Links

            Activity

            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Andrew Bayer
            Path:
            pom.xml
            src/main/java/hudson/plugins/throttleconcurrents/ThrottleJobProperty.java
            src/main/java/hudson/plugins/throttleconcurrents/ThrottleQueueTaskDispatcher.java
            src/main/java/hudson/plugins/throttleconcurrents/pipeline/ThrottleStep.java
            src/main/java/hudson/plugins/throttleconcurrents/pipeline/ThrottleStepExecution.java
            src/main/resources/hudson/plugins/throttleconcurrents/Messages.properties
            src/main/resources/hudson/plugins/throttleconcurrents/ThrottleJobProperty/help.html
            src/main/resources/hudson/plugins/throttleconcurrents/pipeline/Messages.properties
            src/main/resources/hudson/plugins/throttleconcurrents/pipeline/ThrottleStep/config.jelly
            src/main/resources/hudson/plugins/throttleconcurrents/pipeline/ThrottleStep/help-categories.html
            src/test/java/hudson/plugins/throttleconcurrents/ThrottleConcurrentTest.java
            src/test/java/hudson/plugins/throttleconcurrents/ThrottleStepTest.java
            http://jenkins-ci.org/commit/throttle-concurrent-builds-plugin/0bbd0792eb88ff33c81cc0efa5e04b651542fb6d
            Log:
            JENKINS-31801 Add Pipeline throttle(category) step (#46)

            • JENKINS-31801 Initial work on throttle(category) step - needs tests
            • Reworked to no longer rely on StepExecutions.
            • Add a trailing newline to messages.
            • Make findbugs happy.
            • Whoops, this needs to take a block
            • Initial test, actually working

            Needed to bump to newer dependency versions, most notably to get
            PlaceholderTask.getNode(). Still a work in progress, mind you.

            • Cleanup, commenting, javadoc
            • Test across all nodes

            Also discovered that Run<?,?> is a very bad Map key.

            • Add interop with freestyle test
            • Add snippet generator support.
            • Add snippetizer support and test
            • Review comments
            • Check for pending PlaceholderTasks as well.
            • Allow multiple comma-separated categories
            • Minor review responses, moving step UI to correct dir
            • Go away, empty category names!
            • Fixed up snippetizer, switched to a list of strings for the throttle step
            • Check for and respond to duplicate or non-existent category names
            • Adding help for ThrottleJobProperty pointing out it doesn't work for Pipeline
            • unmodifiableList
            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Andrew Bayer Path: pom.xml src/main/java/hudson/plugins/throttleconcurrents/ThrottleJobProperty.java src/main/java/hudson/plugins/throttleconcurrents/ThrottleQueueTaskDispatcher.java src/main/java/hudson/plugins/throttleconcurrents/pipeline/ThrottleStep.java src/main/java/hudson/plugins/throttleconcurrents/pipeline/ThrottleStepExecution.java src/main/resources/hudson/plugins/throttleconcurrents/Messages.properties src/main/resources/hudson/plugins/throttleconcurrents/ThrottleJobProperty/help.html src/main/resources/hudson/plugins/throttleconcurrents/pipeline/Messages.properties src/main/resources/hudson/plugins/throttleconcurrents/pipeline/ThrottleStep/config.jelly src/main/resources/hudson/plugins/throttleconcurrents/pipeline/ThrottleStep/help-categories.html src/test/java/hudson/plugins/throttleconcurrents/ThrottleConcurrentTest.java src/test/java/hudson/plugins/throttleconcurrents/ThrottleStepTest.java http://jenkins-ci.org/commit/throttle-concurrent-builds-plugin/0bbd0792eb88ff33c81cc0efa5e04b651542fb6d Log: JENKINS-31801 Add Pipeline throttle(category) step (#46) JENKINS-31801 Initial work on throttle(category) step - needs tests Reworked to no longer rely on StepExecutions. Add a trailing newline to messages. Make findbugs happy. Whoops, this needs to take a block Initial test, actually working Needed to bump to newer dependency versions, most notably to get PlaceholderTask.getNode(). Still a work in progress, mind you. Cleanup, commenting, javadoc Test across all nodes Also discovered that Run<?,?> is a very bad Map key. Add interop with freestyle test Add snippet generator support. Add snippetizer support and test Review comments Check for pending PlaceholderTasks as well. Allow multiple comma-separated categories Minor review responses, moving step UI to correct dir Go away, empty category names! Fixed up snippetizer, switched to a list of strings for the throttle step Check for and respond to duplicate or non-existent category names Adding help for ThrottleJobProperty pointing out it doesn't work for Pipeline unmodifiableList
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Oleg Nenashev
            Path:
            CHANGELOG.md
            LICENSE.txt
            README
            README.md
            doc/images/abstractProject_jobProperty.png
            doc/images/abstractProject_matrixFlags.png
            doc/images/global_categoryConfig.png
            pom.xml
            http://jenkins-ci.org/commit/throttle-concurrent-builds-plugin/e5d829ba44d89e60ac9cf1e6e12691e8d14e81aa
            Log:
            JENKINS-31801 - Documentation Revamp + Pipeline support docs (#47)

            • Add License
            • Revamp Readme from Wiki, add Pipeline Support documentation towards JENKINS-31801
            • Migrate changelog from Wiki, add JENKINS-31801 reference in "Coming Soon"
            • Update Parent POM
            • Update documentation to reflect the current state of Pipeline support
            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: CHANGELOG.md LICENSE.txt README README.md doc/images/abstractProject_jobProperty.png doc/images/abstractProject_matrixFlags.png doc/images/global_categoryConfig.png pom.xml http://jenkins-ci.org/commit/throttle-concurrent-builds-plugin/e5d829ba44d89e60ac9cf1e6e12691e8d14e81aa Log: JENKINS-31801 - Documentation Revamp + Pipeline support docs (#47) Add License Revamp Readme from Wiki, add Pipeline Support documentation towards JENKINS-31801 Migrate changelog from Wiki, add JENKINS-31801 reference in "Coming Soon" Update Parent POM Update documentation to reflect the current state of Pipeline support
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Oleg Nenashev
            Path:
            README
            README.md
            doc/images/abstractProject_jobProperty.png
            doc/images/abstractProject_matrixFlags.png
            doc/images/global_categoryConfig.png
            http://jenkins-ci.org/commit/throttle-concurrent-builds-plugin/b157b72c075e70bb83ca3ea964da97ef5febdf38
            Log:
            Revamp Readme from Wiki, add Pipeline Support documentation towards JENKINS-31801

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: README README.md doc/images/abstractProject_jobProperty.png doc/images/abstractProject_matrixFlags.png doc/images/global_categoryConfig.png http://jenkins-ci.org/commit/throttle-concurrent-builds-plugin/b157b72c075e70bb83ca3ea964da97ef5febdf38 Log: Revamp Readme from Wiki, add Pipeline Support documentation towards JENKINS-31801
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Oleg Nenashev
            Path:
            CHANGELOG.md
            http://jenkins-ci.org/commit/throttle-concurrent-builds-plugin/eb74255621c82d5df3b1caf20c0e6f3f7e0071e6
            Log:
            Migrate changelog from Wiki, add JENKINS-31801 reference in "Coming Soon"

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: CHANGELOG.md http://jenkins-ci.org/commit/throttle-concurrent-builds-plugin/eb74255621c82d5df3b1caf20c0e6f3f7e0071e6 Log: Migrate changelog from Wiki, add JENKINS-31801 reference in "Coming Soon"
            Hide
            oleg_nenashev Oleg Nenashev added a comment -
            Show
            oleg_nenashev Oleg Nenashev added a comment - The feature has been released in the TCB plugin 2.0. https://github.com/jenkinsci/throttle-concurrent-builds-plugin/blob/master/CHANGELOG.md#20

              People

              • Assignee:
                abayer Andrew Bayer
                Reporter:
                daveml Dave Lawrence
              • Votes:
                35 Vote for this issue
                Watchers:
                52 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: