Interface ExecutableBuildAgent

All Known Implementing Classes:
DefaultBuildAgent, RemoteBuildAgent

public interface ExecutableBuildAgent
The ExecutableBuildAgent that is able to be run builds. Basically it's an agent that's "local" to the running directory
  • Method Details

    • getId

      long getId()
      Agent id
      Returns:
    • getName

      String getName()
      Agent name
      Returns:
    • getDescription

      @NotNull @NotNull String getDescription()
      Agent description
    • start

      void start()
      Starts the build agent
    • stop

      void stop()
      Stops the build agent immediately. Cancelling all currently running builds
      Throws:
      InterruptedException
    • stopNicely

      void stopNicely()
      Attempt to stop the agent and wait for the current build (if any) to stop building
    • stopNicely

      void stopNicely(int statusCode)
      Attempt to stop the agent and wait for the current build (if any) to stop building. If it's a non-local agent, then it will terminate with the given status code.
    • build

      void build(@NotNull @NotNull ReadOnlyCapabilitySet agentCapabilities, @NotNull @NotNull DockerContainerController dockerContainerController) throws Exception
      Executes the passed CommonContext
      Parameters:
      agentCapabilities -
      Throws:
      Exception
    • cancelBuild

      boolean cancelBuild(@NotNull @NotNull String buildResultKey)
      Cancels the passed buildResultKey if it matches
      Parameters:
      buildResultKey -
    • getAgentStatus

      AgentStatus getAgentStatus()
    • isActive

      boolean isActive()
    • getBuilding

      @Nullable @Nullable CommonContext getBuilding()
      Gets the BuildContext related to the build that is building on the agent. Null if not building or cancelling anything.
      Returns:
    • setContextToBuild

      void setContextToBuild(@NotNull @NotNull CommonContext context)
    • waitForStop

      void waitForStop(int secondsToWait) throws TimeoutException
      Waits a certain number of seconds for a build to stop.
      Parameters:
      secondsToWait - -
      Throws:
      TimeoutException
    • incrementError

      int incrementError()
      Tells the agent that an unhandled error has occurred. The agent may then choose to stop the error if a thredhold has been reached. Provides an overload of exceptions being thrown.
      Returns:
    • resetErrors

      void resetErrors()
      Resetes the error count
    • onBuildProcessingFinished

      void onBuildProcessingFinished()
      This method is called when the build process is completed and the result processing has finished.
    • onContextReceived

      void onContextReceived(@NotNull @NotNull CommonContext commonContext)
      This method is called when the agent has just retrieved a context from queue
    • executeWithCurrentContext

      <V> V executeWithCurrentContext(Callable<V> callable) throws Exception
      Execute with guarantee that context will not be switched during execution. (i.e. no new build will be picked up by the agent)
      Throws:
      Exception
      Since:
      6.9