Class WinstoneDockerController
- java.lang.Object
-
- org.jenkinsci.test.acceptance.controller.JenkinsController
-
- org.jenkinsci.test.acceptance.controller.LocalController
-
- org.jenkinsci.test.acceptance.controller.WinstoneDockerController
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,IJenkinsController
,AutoCleaned
,LogListenable
public class WinstoneDockerController extends LocalController
Runs jenkins.war inside docker so that it gets a different IP address even though it's run on the same host.For efficiency, the docker container gets the entire host file system bind-mounted on it, and we ssh into that box and start jenkins.
- Author:
- Kohsuke Kawaguchi
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
WinstoneDockerController.FactoryImpl
-
Nested classes/interfaces inherited from class org.jenkinsci.test.acceptance.controller.LocalController
LocalController.LocalFactoryImpl
-
-
Field Summary
-
Fields inherited from class org.jenkinsci.test.acceptance.controller.LocalController
jenkinsHome, logWatcher, process, time, war
-
Fields inherited from class org.jenkinsci.test.acceptance.controller.JenkinsController
isQuite, STARTUP_TIMEOUT, WORKSPACE
-
-
Constructor Summary
Constructors Constructor Description WinstoneDockerController(com.google.inject.Injector i)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.jenkinsci.test.acceptance.docker.fixtures.JavaContainer
getContainer()
URL
getUrl()
Gives URL where Jenkins is listening.void
setDockerImage(String img)
void
setFixture(Class<? extends org.jenkinsci.test.acceptance.docker.fixtures.JavaContainer> fixtureType)
org.jenkinsci.utils.process.ProcessInputStream
startProcess()
void
stopNow()
Synchronously shutdown Jenkins instance.-
Methods inherited from class org.jenkinsci.test.acceptance.controller.LocalController
addLogListener, commonLaunchEnv, diagnose, getJavaHome, getJenkinsHome, getSlaveJarPath, getSutHostName, isRunInstallWizard, onReady, populateJenkinsHome, postConstruct, removeLogListener, setRunInstallWizard, startNow, tearDown
-
Methods inherited from class org.jenkinsci.test.acceptance.controller.JenkinsController
close, getInitialCredentials, getLogId, getLogPrinter, isRunning, restart, start, stop
-
-
-
-
Method Detail
-
setFixture
public void setFixture(Class<? extends org.jenkinsci.test.acceptance.docker.fixtures.JavaContainer> fixtureType)
-
setDockerImage
public void setDockerImage(String img)
-
startProcess
public org.jenkinsci.utils.process.ProcessInputStream startProcess() throws IOException
- Specified by:
startProcess
in classLocalController
- Throws:
IOException
-
stopNow
public void stopNow() throws IOException
Description copied from class:JenkinsController
Synchronously shutdown Jenkins instance.This method must leave JENKINS_HOME intact so that it can be started later. To really delete the data and clean up, see
JenkinsController.tearDown()
.- Overrides:
stopNow
in classLocalController
- Throws:
IOException
-
getContainer
public org.jenkinsci.test.acceptance.docker.fixtures.JavaContainer getContainer()
-
getUrl
public URL getUrl()
Description copied from class:JenkinsController
Gives URL where Jenkins is listening. Must end with "/"- Specified by:
getUrl
in interfaceIJenkinsController
- Specified by:
getUrl
in classJenkinsController
-
-