Package io.jenkins.docker.connector
Class DockerComputerAttachConnector
- java.lang.Object
-
- hudson.model.AbstractDescribableImpl<DockerComputerConnector>
-
- io.jenkins.docker.connector.DockerComputerConnector
-
- io.jenkins.docker.connector.DockerComputerAttachConnector
-
- All Implemented Interfaces:
Describable<DockerComputerConnector>
,Serializable
public class DockerComputerAttachConnector extends DockerComputerConnector implements Serializable
- Author:
- Nicolas De Loof
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DockerComputerAttachConnector.DescriptorImpl
-
Field Summary
-
Fields inherited from class io.jenkins.docker.connector.DockerComputerConnector
remoting
-
-
Constructor Summary
Constructors Constructor Description DockerComputerAttachConnector()
DockerComputerAttachConnector(String user)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
beforeContainerCreated(DockerAPI api, String workdir, com.github.dockerjava.api.command.CreateContainerCmd cmd)
Called just before the container is created.void
beforeContainerStarted(DockerAPI api, String workdir, DockerTransientNode node)
Called once the container has been created but not started yet, that's a good opportunity to injectremoting.jar
usingDockerComputerConnector.injectRemotingJar(String, String, DockerClient)
protected ComputerLauncher
createLauncher(DockerAPI api, String workdir, com.github.dockerjava.api.command.InspectContainerResponse inspect, TaskListener listener)
Create a Launcher to create an Agent with this container.boolean
equals(Object obj)
String
getEntryPointCmdString()
String
getJavaExe()
String
getJvmArgsString()
String
getUser()
int
hashCode()
void
setEntryPointCmdString(String entryPointCmdString)
void
setJavaExe(String javaExe)
void
setJvmArgsString(String jvmArgsString)
void
setUser(String user)
String
toString()
-
Methods inherited from class io.jenkins.docker.connector.DockerComputerConnector
addEnvVar, addEnvVars, afterContainerStarted, all, createLauncher, ensureNodeIsKnown, ensureWaiting, injectRemotingJar
-
Methods inherited from class hudson.model.AbstractDescribableImpl
getDescriptor
-
-
-
-
Constructor Detail
-
DockerComputerAttachConnector
@DataBoundConstructor public DockerComputerAttachConnector()
-
DockerComputerAttachConnector
public DockerComputerAttachConnector(String user)
-
-
Method Detail
-
getUser
@CheckForNull public String getUser()
-
setUser
@DataBoundSetter public void setUser(String user)
-
getJavaExe
@CheckForNull public String getJavaExe()
-
setJavaExe
@DataBoundSetter public void setJavaExe(String javaExe)
-
getEntryPointCmdString
@NonNull public String getEntryPointCmdString()
-
setEntryPointCmdString
@DataBoundSetter public void setEntryPointCmdString(String entryPointCmdString)
-
getJvmArgsString
@NonNull public String getJvmArgsString()
-
setJvmArgsString
@DataBoundSetter public void setJvmArgsString(String jvmArgsString)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classDockerComputerConnector
-
equals
public boolean equals(Object obj)
- Overrides:
equals
in classDockerComputerConnector
-
beforeContainerCreated
public void beforeContainerCreated(DockerAPI api, String workdir, com.github.dockerjava.api.command.CreateContainerCmd cmd) throws IOException, InterruptedException
Description copied from class:DockerComputerConnector
Called just before the container is created. Can provide some customization to the container creation command.- Overrides:
beforeContainerCreated
in classDockerComputerConnector
- Parameters:
api
- TheDockerAPI
that this container belongs to.workdir
- The filesystem path to the Jenkins agent working directory.cmd
- TheCreateContainerCmd
that's about to be used.- Throws:
IOException
- If anything goes wrong.InterruptedException
- If interrupted while doing things.
-
beforeContainerStarted
public void beforeContainerStarted(DockerAPI api, String workdir, DockerTransientNode node) throws IOException, InterruptedException
Description copied from class:DockerComputerConnector
Called once the container has been created but not started yet, that's a good opportunity to injectremoting.jar
usingDockerComputerConnector.injectRemotingJar(String, String, DockerClient)
- Overrides:
beforeContainerStarted
in classDockerComputerConnector
- Parameters:
api
- TheDockerAPI
that this container belongs to.workdir
- The filesystem path to the Jenkins agent working directory.node
- The Jenkins node.- Throws:
IOException
- If anything goes wrong.InterruptedException
- If interrupted while doing things.
-
createLauncher
protected ComputerLauncher createLauncher(DockerAPI api, String workdir, com.github.dockerjava.api.command.InspectContainerResponse inspect, TaskListener listener) throws IOException, InterruptedException
Description copied from class:DockerComputerConnector
Create a Launcher to create an Agent with this container. Can assume container has been created by this DockerAgentConnector so adequate setup did take place.- Specified by:
createLauncher
in classDockerComputerConnector
- Parameters:
api
- TheDockerAPI
for the cloud this agent is running on.workdir
- The filesystem path to the Jenkins agent working directory.inspect
- Information from the docker daemon about our container.listener
- Where to output any issues.- Returns:
- A configured
ComputerLauncher
. - Throws:
IOException
- If anything goes wrong, e.g. talking to docker.InterruptedException
- If we're interrupted while waiting.
-
-