-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
Jenkins 2.190.1
docker-workflow-plugin 1.21
docker-commons 1.15
With the previous behavior of docker-workflow-plugin (1.15) I was able to nest my `docker.withRegistry()` calls so I can access numerous registries at the same time.
Example:
node('docker') { docker.withRegistry('https://repo1.private.com', '5d243c54-3d2c-42e3-9c3d-35c1cbe61ddd') { docker.withRegistry('https://repo2.private.com', '5d243c54-3d2c-42e3-9c3d-35c1cbe61ddd') { sh('docker pull repo1/library/image:latest') sh('docker pull repo2/libraryimage:latest') } } }
From the output it looks like each credential is stored in it's own file per registry. My assumption is that with nested logins, it should be in the same credential store/file?
Is there any workaround for this?
Update – after more investigation – think this is more related to the docker-commons plugin - think it's related to this MR: https://github.com/jenkinsci/docker-workflow-plugin/pull/140/files
This MR introduced the env variables - specifically `DOCKER_CONFIG`- -
Update – further investigation – there has been an update to docker-commons-plugin that fixed this issue with--https://issues.jenkins-ci.org/browse/JENKINS-52737---
Made a MR for to use the latest docker-commons:[-https://github.com/jenkinsci/docker-workflow-plugin/pull/193-] - Update – Fixes need on the docker-commons logic. MR here: https://github.com/jenkinsci/docker-commons-plugin/pull/82
Did not follow most of this, but please use the Link feature in JIRA to link to any related issues.
From a quick glance it looks like this issue would only affect the legacy mode of directly editing config files; by default the plugin will try to use CLI docker login. As a general recommendation, if in doubt just use the generic withCredentials and sh 'docker login -u "$USER" -p "$PASS"'.