Class SwarmDeclarativeAgent

java.lang.Object
hudson.model.AbstractDescribableImpl<SwarmDeclarativeAgent>
org.jenkinsci.plugins.pipeline.modeldefinition.withscript.WithScriptDescribable<SwarmDeclarativeAgent>
org.jenkinsci.plugins.pipeline.modeldefinition.agent.DeclarativeAgent<SwarmDeclarativeAgent>
org.jenkinsci.plugins.pipeline.modeldefinition.agent.RetryableDeclarativeAgent<SwarmDeclarativeAgent>
io.jenkins.plugins.swarmcloud.pipeline.SwarmDeclarativeAgent
All Implemented Interfaces:
ExtensionPoint, Describable<SwarmDeclarativeAgent>, Serializable

public class SwarmDeclarativeAgent extends org.jenkinsci.plugins.pipeline.modeldefinition.agent.RetryableDeclarativeAgent<SwarmDeclarativeAgent>
Declarative Pipeline agent for Docker Swarm.

Usage:

 pipeline {
     agent {
         swarmAgent {
             cloud 'docker-swarm'
             template 'maven'
             label 'maven java'
         }
     }
     stages { ... }
 }
 

Or with inline image configuration:

 agent {
     swarmAgent {
         image 'jenkins/inbound-agent:alpine'
         label 'docker'
     }
 }
 

If exactly one SwarmCloud is configured, cloud may be omitted.

See Also:
  • Constructor Details

    • SwarmDeclarativeAgent

      @DataBoundConstructor public SwarmDeclarativeAgent()
  • Method Details

    • getCloud

      @Nullable public String getCloud()
    • setCloud

      @DataBoundSetter public void setCloud(String cloud)
    • getTemplate

      @Nullable public String getTemplate()
    • setTemplate

      @DataBoundSetter public void setTemplate(String template)
    • getImage

      @Nullable public String getImage()
    • setImage

      @DataBoundSetter public void setImage(String image)
    • getLabel

      @Nullable public String getLabel()
    • setLabel

      @DataBoundSetter public void setLabel(String label)
    • getNumExecutors

      public int getNumExecutors()
    • setNumExecutors

      @DataBoundSetter public void setNumExecutors(int numExecutors)
    • getCpuLimit

      @Nullable public String getCpuLimit()
    • setCpuLimit

      @DataBoundSetter public void setCpuLimit(String cpuLimit)
    • getMemoryLimit

      @Nullable public String getMemoryLimit()
    • setMemoryLimit

      @DataBoundSetter public void setMemoryLimit(String memoryLimit)
    • getIdleTimeout

      public int getIdleTimeout()
    • setIdleTimeout

      @DataBoundSetter public void setIdleTimeout(int idleTimeout)
    • getConnectionTimeout

      public int getConnectionTimeout()
    • setConnectionTimeout

      @DataBoundSetter public void setConnectionTimeout(int connectionTimeout)
    • getCustomWorkspace

      @Nullable public String getCustomWorkspace()
    • setCustomWorkspace

      @DataBoundSetter public void setCustomWorkspace(String customWorkspace)
    • resolveCloudName

      @Nullable public String resolveCloudName()
      Resolves the cloud name to use.

      Returns the explicit cloud value, or — if only one SwarmCloud is configured — its name. Returns null when no cloud can be resolved deterministically; the underlying step will then fail with a clear error.

    • resolveLabel

      @Nullable public String resolveLabel()
      Resolves an effective node label for scheduling.

      Prefers explicit label, falls back to the referenced template's labelString. Returns null if no label can be determined.