Allows to build and use Docker containers from pipelines.
See the user guide for all details.
Open JIRA issues
Version 1.19 (August 2, 2019)
As of this release, fingerprints will no longer be automatically generated when using
image.run in a Pipeline. If you are using the CloudBees Docker Traceability Plugin, which is the only known consumer of these fingerprints, you will need to explicitly call
dockerFingerprintRun if you want to maintain the previous behavior.
- Deprecate the
dockerFingerprintRun steps and stop calling them during
image.run. Fixes various issues with Dockerfile parsing and parsing arguments to
- Attempt to support the
dir step when running on a Docker container created by this plugin for older versions of Docker (17.12 and older)
Version 1.18 (April 2, 2019)
- Allow users with Credentials/UseItem permission (implied by Job/Configure permission) on a Pipeline Job to use credentials which that job has access to in the
withDockerServer steps even when Authorize Project Plugin is installed and configured to run builds as a user other than the default Jenkins superuser.
- Extend fix for ARGs in FROM added in version 1.15 to support ARGs with default values.
- Mask environment variables used by steps that use the
Launcher API inside of a
- (PR 153) Update help related to
image.pull() to explain what problems might happen if the method is not called.
Version 1.17 (May 18, 2018)
withDockerRegistry step now preferentially takes a “flat” argument list, but continues to support older syntaxes, including the one broken in 1.16.
- May solve login issues in certain environments, especially with a custom Docker server endpoint. The non-CLI-based login behavior in 1.15.1 may be restored using the Jenkins startup flag
-Dorg.jenkinsci.plugins.docker.commons.credentials.DockerRegistryToken.USE_CUSTOM_LOGIN=true but this suffers from a number of known limitations including lack of guaranteed support for parallel builds on one computer, failure to clean up credentials at the end of a build, incompatibility with the JSON format from some versions of the Docker client, etc.
Version 1.16 (May 11, 2018)
- and allied issues: using CLI-based registry login by default
WARNING: introduced some known regressions &
Version 1.15.1 (Feb 13, 2018)
- command in docker agents not detected correctly
- do not use (deprecated) --force when tagging images
- better error message for JENKINS-41316
Version 1.15 (Jan 30, 2018)
- JENKINS-41316 Restore entrypoint support (JENKINS-37987), check the command is well executed by entrypoint
- JENKINS-48502: Added ECS and Kubernetes support in cgroup detection
- JENKINS-49063: fix cgroup detection on Docker CE
- JENKINS-46105: fix support for ARG in FROM command
- JENKINS-33510: add support for exec workdir option
- JENKINS-47791: Making WithContainerStepTest.death not assume the existence of a pid file.
Version 1.14 (Nov 1, 2017)
- JENKINS-40484 - Stop passing
PATH from agent to container, fixing problems such as
withMaven not working within
Version 1.13 (Sep 11, 2017)
- JENKINS-44609 No longer fails on multi-stage Dockerfile with FROM .. AS syntax
- Added OS detection in JUnits so Windows based runs pass
- Added JenkinsFile for automated CI on the plugin
Version 1.12 (Jun 16, 2017)
Version 1.11 (May 08, 2017)
Version 1.10 (Feb 13, 2017)
- Fixed detection of agents running inside containers under further special conditions.
- Detect custom
Dockerfile when using
- JENKINS-34276 Allow
Image.inside to run with either a local or registry-prefixed name.
- JENKINS-37719 Recover when
Version 1.9.1 (Nov 14, 2016)
- Name changed to remove word “CloudBees”.
Version 1.9 (Oct 05, 2016)
- Failure to pass
Image.inside when an agent was run in a container using
--volume but no
- JENKINS-37769 As-yet-undiagnosed issue with
stop meant that cleanup from
Image.inside was delayed for ten seconds.
- JENKINS-38018 When
withRegistry succeeds, print a message saying where credentials were stored. When credentials are not found, abort rather than silently continuing.
withTool was not honored by
Version 1.8 (Sep 07, 2016)
- JENKINS-37987 Allow
Image.inside to work with images like
maven which specify an
- JENKINS-36332 Allow a
command argument to be passed to
- Improved detection of containerized Jenkins instances from 1.5.
- Avoid blocking log output when running
docker commands to compute fingerprints.
Version 1.7 (Jul 26, 2016)
Requires a newer Jenkins baseline and Pipeline dependencies.
- JENKINS-36214 Use a workspace-specific temporary directory to write
Docker.build may now take arbitrary arguments, not merely an alternate base directory.
- JENKINS-31225 More portable way of determining when commands need to be wrapped in an implicit
Version 1.6 (Jul 01, 2016)
- Fix error in 1.5 when not run on Linux.
Version 1.5 (Jun 30, 2016)
- Work correctly out of the box when Jenkins itself is running inside a Docker container. Demo also updated to exercise this mode.
- JENKINS-33510 Not solved, but at least print a warning to the build log that
Image.inside does not work.
- JENKINS-33063 Allow a command to be passed to
- Added a
Version 1.4 (Mar 03, 2016)
- JENKINS-27152 Mount temporary directories now used by several other plugins in addition to the workspace when using
- Handle recent deprecation of
docker tag --force.
Version 1.3 (Feb 05, 2016)
- No functional change, just following rename from Workflow to Pipeline.
Version 1.2 (Aug 04 2015)
- JENKINS-28611 Honor
DOCKER_HOST and similar environment variables from the slave machine when running
docker exec for
Version 1.1 (Jul 28 2015)
Version 1.0 (Jun 03 2015)
- First release