diff --git a/src/main/java/com/cloudbees/jenkins/plugins/docker_build_env/Docker.java b/src/main/java/com/cloudbees/jenkins/plugins/docker_build_env/Docker.java index e19c0eb..86cfbc2 100644 --- a/src/main/java/com/cloudbees/jenkins/plugins/docker_build_env/Docker.java +++ b/src/main/java/com/cloudbees/jenkins/plugins/docker_build_env/Docker.java @@ -367,4 +367,17 @@ private List dockerCommandArgs() { } return args; } + + public void logs(String container) throws IOException, InterruptedException { + ArgumentListBuilder args = dockerCommand() + .add("logs", "-t", container); + + listener.getLogger().println("Retrieving container logs"); + OutputStream out = listener.getLogger(); + OutputStream err = listener.getLogger(); + int status = launcher.launch() + .cmds(args) + .stdout(out).stderr(err).quiet(true).join(); + if (status != 0) listener.error("Unable to retrieve logs from container"); + } } diff --git a/src/main/java/com/cloudbees/jenkins/plugins/docker_build_env/DockerBuildWrapper.java b/src/main/java/com/cloudbees/jenkins/plugins/docker_build_env/DockerBuildWrapper.java index fe16b23..21a68cd 100644 --- a/src/main/java/com/cloudbees/jenkins/plugins/docker_build_env/DockerBuildWrapper.java +++ b/src/main/java/com/cloudbees/jenkins/plugins/docker_build_env/DockerBuildWrapper.java @@ -192,7 +192,16 @@ public Environment setUp(AbstractBuild build, final Launcher launcher, BuildList return new Environment() { @Override public boolean tearDown(AbstractBuild build, BuildListener listener) throws IOException, InterruptedException { - return build.getAction(BuiltInContainer.class).tearDown(); + BuiltInContainer builtIn = build.getAction(BuiltInContainer.class); + if ( verbose ) { + try { + builtIn.getDocker().logs(builtIn.container); + } + catch ( Exception ex ) { + LOGGER.log(Level.WARNING, "Error getting container logs", ex); + } + } + return builtIn.tearDown(); } }; }