Allow to define a resource pool, so a specific resource can be locked N times.

      Benefits:

      • 1 resource pool instead of N resources sharing the same label (less configuration needed)
      • Useful to limit the number of concurrent builds in Pipeline

          [JENKINS-44141] Define a resource pool

          Completely agree this is 'killer' feature for this plugin.  This will be especially useful when we need to temporarily scaled down the availability of a resource.  Now we need to go around deleting labels and re-adding them later.  Very messy.

          Kenneth Baltrinic added a comment - Completely agree this is 'killer' feature for this plugin.  This will be especially useful when we need to temporarily scaled down the availability of a resource.  Now we need to go around deleting labels and re-adding them later.  Very messy.

          I think this is what I need as well for managing licenses. I don't care about the specific license I get, so don't want to use the label parameter. I just need one of any of the 3 licenses I have for that tool.

          Aaron D. Marasco added a comment - I think this is what I need as well for managing licenses. I don't care about the specific license I get, so don't want to use the label parameter. I just need one of any of the 3 licenses I have for that tool.

          Xavier Dury added a comment -

          My ideal poolable/lockable resources plugin would look like this:

          • Be able to define separate resources
          • Each resource can contain parameters (host, port, path, database parameters...) that can be retrieved at runtime in the pipeline
          • Resources can belong to a group/pool: when you ask for one resource from the group/pool, you get the first free one

          With such a plugin, I could define a 'farm' of integration testing servers where each resource/server would contain parameters like host, linked db settings...

          Before running integration tests, I could ask for one free server instance from the pool/farm, extract the needed parameters (host for selenium, db settings so my tests can fill/clean/assert the db content...), run my tests, then release that instance.

          Xavier Dury added a comment - My ideal poolable/lockable resources plugin would look like this: Be able to define separate resources Each resource can contain parameters (host, port, path, database parameters...) that can be retrieved at runtime in the pipeline Resources can belong to a group/pool: when you ask for one resource from the group/pool, you get the first free one With such a plugin, I could define a 'farm' of integration testing servers where each resource/server would contain parameters like host, linked db settings... Before running integration tests, I could ask for one free server instance from the pool/farm, extract the needed parameters (host for selenium, db settings so my tests can fill/clean/assert the db content...), run my tests, then release that instance.

          Supporting Xaviers statement regarding the "farm" of testing resources!

          We are currently struggling with a similar situation where multiple resources are available for multiple jobs, each job would request for an available resource and lock it until it is finished, but we cannot specify which resource the job should pick.

          Benjamin Schuler added a comment - Supporting Xaviers statement regarding the "farm" of testing resources! We are currently struggling with a similar situation where multiple resources are available for multiple jobs, each job would request for an available resource and lock it until it is finished, but we cannot specify which resource the job should pick.

          Benjamin Heilbrunn added a comment - - edited

          +1 for a pool of resources from where I can draw (random) resource instances that are then locked until explicitly released by the build

          Benjamin Heilbrunn added a comment - - edited +1 for a pool of resources from where I can draw (random) resource instances that are then locked until explicitly released by the build

            Unassigned Unassigned
            amuniz Antonio Muñiz
            Votes:
            22 Vote for this issue
            Watchers:
            20 Start watching this issue

              Created:
              Updated: