Jenkins : Docker Commons Plugin

APIs for using Docker from other plugins.

Plugin Information

View Docker Commons on the plugin site for more information.

Older versions of this plugin may not be safe to use. Please review the following warnings before using an older version:

Summary

Plugin provides the following features:

  • API for managing Docker image and container fingerprints
  • Credentials and location of Docker Registry
  • Credentials and location of Docker Daemon (aka Docker Remote API)
  • ToolInstallation for Docker CLI clients
  • DockerImageExtractor extension point to get Docker image relations from jobs
  • Simple UI referring related image fingerprints in Docker builds

Use-cases

Credentials and locations

This allows users to configure one set of endpoint/credentials and use it across all the Docker
related plugins, thereby keeping configuration more DRY.

See Docker Pipeline Plugin for the typical usage.

Version history

Version 1.15 (May 13, 2019)

  • JENKINS-57439 - Add Declarative Credentials handler for Docker Resolved  - Add support of Docker credentials specification in Declarative Pipeline
  • JENKINS-52724 - Building an image with a custom registry overwrites environment variables Resolved JENKINS-52737 - Using a docker agent from a private registry does pass the proxy configuration to the docker container Closed  - Inherit properties from the local Docker config.json if it exists
  • JENKINS-57420 - Use the new multiline secret field in docker-commons Resolved  - Use a new way to specify multi-line secrets in the plugin

Version 1.14 (April 2, 2019)

  • Improve help text formatting (PR 73)
  • Developer: Add new API for getting Docker-related credentials for  JENKINS-48437 - Docker Pipeline Plugin withRegistry and Authorize Plugin fails to get credentialsId Resolved

Version 1.13 (May 18, 2018)

  • API for  JENKINS-51397 - docker login being called without server-related environment variables Resolved

Version 1.12 (May 11, 2018)

  • JENKINS-38018 - withDockerRegistry fails to authenticate with DockerHub Resolved  (and allied issues)
  • JENKINS-41880 - ConcurrentModificationException while creating docker image fingerprints Resolved
  • JENKINS-49075 - docker-commons-plugin not working with PCT Resolved  implies a newer Jenkins core dependency

Version 1.11 (Jan 04, 2018)

  • JENKINS-48674 - Automated installation of docker fail for recent version of docker (> 17.05.0-ce) Resolved  Failure to download newer Docker releases from the automatic tool installer.

Version 1.10 (Dec 11, 2017)

  • JENKINS-48453 - java.nio.file.NoSuchFileException when materializing ServerKey Resolved  Regression in Jenkins 2.93+ when using server credentials.

Version 1.9 (Oct 10, 2017)

  • Removing icon-shim plugin dependency.

Version 1.8 (Jul 10, 2017)

Version 1.7 (Jun 16, 2017)

  • Always include port in image name.
  • Add credentials binding implementation for Docker server credentials.

Version 1.6 (Jan 11, 2017)

  • (error) JENKINS-39181 Fix Invalid fully qualified image name when registry URL is specified

Version 1.5 (Oct 05, 2016)

  • (plus) JENKINS-38018 API for more informative logging about use of registry credentials.

Version 1.4.1 (Sep 08, 2016)

Version 1.4.0 (Jun 17, 2016)

  • (info) Migration to the new parent POM (JENKINS-35018)
  • (info) Jenkins core dependency has been updated to 1.580.x

Version 1.3.1 (Feb 19, 2016)

Version 1.3 (Feb 08, 2016)

  • (plus) Support the "sha256:" prefix in image ID, required for Docker 1.10 (JENKINS-32792)
  • (plus) Replace build action icon stubs by Docker icons (JENKINS-28776)

Version 1.2 (Jul 29 2015)

  • (error) NPE when using credentials together with docker 1.7 (JENKINS-29627)
  • (plus) Support creation of named fingerprints in the API (JENKINS-29098)

Version 1.1 (Jul 07 2015)

  • (error) Cleanup of FindBugs issues, update of the CI system
  • (error) Fix the issue with the Docker Tool selector (PR #40)
  • (plus) Support Docker 1.7+ .docker/config.json (PR #38)

Version 1.0 (May 22 2015)

  • First stable release
  • There were may alpha releases before this release, see commit histories in GitHub