Package io.jenkins.docker.connector
Class DockerComputerSSHConnector
java.lang.Object
hudson.model.AbstractDescribableImpl<DockerComputerConnector>
io.jenkins.docker.connector.DockerComputerConnector
io.jenkins.docker.connector.DockerComputerSSHConnector
- All Implemented Interfaces:
Describable<DockerComputerConnector>
- Author:
- Nicolas De Loof
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic final class
static class
static class
static class
-
Field Summary
Fields inherited from class io.jenkins.docker.connector.DockerComputerConnector
remoting
-
Constructor Summary
ConstructorDescriptionDockerComputerSSHConnector
(DockerComputerSSHConnector.SSHKeyStrategy sshKeyStrategy) -
Method Summary
Modifier and TypeMethodDescriptionvoid
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
int
getPort()
int
hashCode()
void
setJavaPath
(String javaPath) void
setJvmOptions
(String jvmOptions) void
setLaunchTimeoutSeconds
(Integer launchTimeoutSeconds) void
setMaxNumRetries
(Integer maxNumRetries) void
setPort
(int port) void
setPrefixStartSlaveCmd
(String prefixStartSlaveCmd) void
setRetryWaitTime
(Integer retryWaitTime) void
setSuffixStartSlaveCmd
(String suffixStartSlaveCmd) 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 Details
-
DockerComputerSSHConnector
@DataBoundConstructor public DockerComputerSSHConnector(DockerComputerSSHConnector.SSHKeyStrategy sshKeyStrategy)
-
-
Method Details
-
getSshKeyStrategy
-
getPort
public int getPort() -
setPort
@DataBoundSetter public void setPort(int port) -
getJvmOptions
-
setJvmOptions
-
getJavaPath
-
setJavaPath
-
getPrefixStartSlaveCmd
-
setPrefixStartSlaveCmd
-
getSuffixStartSlaveCmd
-
setSuffixStartSlaveCmd
-
getLaunchTimeoutSeconds
-
setLaunchTimeoutSeconds
-
getMaxNumRetries
-
setMaxNumRetries
-
getRetryWaitTime
-
setRetryWaitTime
-
hashCode
public int hashCode()- Overrides:
hashCode
in classDockerComputerConnector
-
equals
- Overrides:
equals
in classDockerComputerConnector
-
toString
-
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.
-