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 Summary
Modifier and TypeMethodDescriptionvoid
build
(@NotNull ReadOnlyCapabilitySet agentCapabilities, @NotNull DockerContainerController dockerContainerController) Executes the passedCommonContext
boolean
cancelBuild
(@NotNull String buildResultKey) Cancels the passed buildResultKey if it matches<V> V
executeWithCurrentContext
(Callable<V> callable) Execute with guarantee that context will not be switched during execution.@Nullable CommonContext
Gets theBuildContext
related to the build that is building on the agent.@NotNull String
Agent descriptionlong
getId()
Agent idgetName()
Agent nameint
Tells the agent that an unhandled error has occurred.boolean
isActive()
void
This method is called when the build process is completed and the result processing has finished.void
onContextReceived
(@NotNull CommonContext commonContext) This method is called when the agent has just retrieved a context from queuevoid
Resetes the error countvoid
setContextToBuild
(@NotNull CommonContext context) void
start()
Starts the build agentvoid
stop()
Stops the build agent immediately.void
Attempt to stop the agent and wait for the current build (if any) to stop buildingvoid
stopNicely
(int statusCode) Attempt to stop the agent and wait for the current build (if any) to stop building.void
waitForStop
(int secondsToWait) Waits a certain number of seconds for a build to stop.
-
Method Details
-
getId
long getId()Agent id- Returns:
-
getName
String getName()Agent name- Returns:
-
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 passedCommonContext
- Parameters:
agentCapabilities
-- Throws:
Exception
-
cancelBuild
Cancels the passed buildResultKey if it matches- Parameters:
buildResultKey
-
-
getAgentStatus
AgentStatus getAgentStatus() -
isActive
boolean isActive() -
getBuilding
Gets theBuildContext
related to the build that is building on the agent. Null if not building or cancelling anything.- Returns:
-
setContextToBuild
-
waitForStop
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
This method is called when the agent has just retrieved a context from queue -
executeWithCurrentContext
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
-