Skip to content

Add npipe support for build-info-extractor-docker #797

Open
@Ru13en

Description

Describe the bug
On windows using windows containers is not possible to use the npipe protocol to publish docker images to the artifactory.
The NettyDockerCmdExecFactory does not support the npipe protocol which has been used here:
https://github.com/jfrog/build-info/blob/master/build-info-extractor-docker/src/main/java/org/jfrog/build/extractor/docker/DockerJavaWrapper.java#L77
I found this comment in the docker-java repository:
docker-java/docker-java#765 (comment)
So I suggest the replacement from NettyDockerCmdExecFactory to OkHttpDockerCmdExecFactory in order to support npipe.

To Reproduce
Configure windows docker engine to use windows containers.
Configure a Jenkins instance with docker clouds.
Add the following mount to the docker cloud template (exposes the host docker engine to the ephemeral container):
type=npipe,source=\.\pipe\docker_engine,destination=\.\pipe\docker_engine

Add and execute a pipeline that makes use of the Artifactory.docker (see example in the first screenshot).

Expected behavior
At red is the affected code leading to the exception shown in the second screenshot.
If we just use the docker-plugin from jenkins there is no issues.

Screenshots
image
image

Versions

  • Extractor version: v2.41.21
  • Operating system: Windows 10
  • Artifactory Version: 7.84.17

Additional context
Add any other context about the problem here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    bugCreate a report to help us improve

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions