docker-plugin icon indicating copy to clipboard operation
docker-plugin copied to clipboard

When running a pipeline / stage in a container, tools directory should be mounted

Open enaess opened this issue 2 months ago • 0 comments

Jenkins and plugins versions report

Environment
Jenkins: 2.516.3
OS: Linux - 6.8.0-83-generic
Java: 21.0.8 - Amazon.com Inc. (OpenJDK 64-Bit Server VM)
---
active-directory:2.40
analysis-model-api:13.9.0-911.v94cd6dcdedf7
ant:518.v8d8dc7945eca_
antisamy-markup-formatter:173.v680e3a_b_69ff3
apache-httpcomponents-client-4-api:4.5.14-269.vfa_2321039a_83
apache-httpcomponents-client-5-api:5.5-170.v023de017ccd7
asm-api:9.8-163.vb_2a_96d3f9c3c
authentication-tokens:1.144.v5ff4a_5ec5c33
authorize-project:2.0.0
azure-credentials:395.vb_a_9203343ef5
azure-sdk:248.v0c922122245c
bootstrap5-api:5.3.8-895.v4d0d8e47fea_d
bouncycastle-api:2.30.1.82-277.v70ca_0b_877184
branch-api:2.1255.v2f5fe203584a_
build-timeout:1.38
caffeine-api:3.2.2-178.v353b_8428ed56
checks-api:373.vfe7645102093
cloud-stats:377.vd8a_6c953e98e
cloudbees-folder:6.1053.vd62fb_b_f7367b_
command-launcher:123.v37cfdc92ef67
commons-compress-api:1.28.0-1
commons-lang3-api:3.19.0-104.v12125f33a_255
commons-text-api:1.14.0-194.v804a_dc3a_1b_d8
credentials:1447.v4cb_b_539b_5321
credentials-binding:702.vfe613e537e88
dark-theme:574.va_19f05d54df5
data-tables-api:2.3.4-1413.va_57c35d0a_9ec
display-url-api:2.217.va_6b_de84cc74b_
docker-commons:457.v0f62a_94f11a_3
docker-java-api:3.5.3-122.v156e51f30c0a_
docker-plugin:1274.vc0203fdf2e74
docker-workflow:621.va_73f881d9232
dtkit-api:3.0.3
durable-task:605.v9a_b_9040c9970
echarts-api:6.0.0-1165.vd1283a_3e37d4
eddsa-api:0.3.0.1-19.vc432d923e5ee
email-ext:1925.v1598902b_58dd
emailext-template:233.v1eb_88fc160b_5
folder-properties:62.v1636b_4a_84608
font-awesome-api:7.0.1-872.vb_679b_2c95492
forensics-api:3.1772.v99ca_3d83b_9fa_
git:5.7.0
git-client:6.4.0
github:1.45.0
github-api:1.330-492.v3941a_032db_2a_
github-branch-source:1871.v50ffb_786515e
gradle:2.16.1149.v711b_998b_0532
gson-api:2.13.2-173.va_a_092315913c
http_request:1.20
instance-identity:203.v15e81a_1b_7a_38
ionicons-api:94.vcc3065403257
jackson2-api:2.20.0-411.v6ef8fdee4fe9
jakarta-activation-api:2.1.3-2
jakarta-mail-api:2.1.3-3
javax-activation-api:1.2.0-8
javax-mail-api:1.6.2-11
jaxb:2.3.9-133.vb_ec76a_73f706
jdk-tool:83.v417146707a_3d
jfrog:1.5.10
jjwt-api:0.11.5-120.v0268cf544b_89
joda-time-api:2.14.0-149.v1c3ce991d1b_9
jquery3-api:3.7.1-619.vdb_10e002501a_
json-api:20250517-173.v596efb_962a_31
json-path-api:2.9.0-190.veefca_05d5477
jsoup:1.21.2-66.v6ea_38164b_8a_2
junit:1359.v71188fea_0df5
ldap:793.v754d6b_41b_ea_4
mailer:522.va_995fa_cfb_8b_d
matrix-auth:3.2.8
matrix-project:858.vb_b_eb_9a_7ea_99e
metrics:4.2.37-487.v7d6048d8733c
mina-sshd-api-common:2.16.0-167.va_269f38cc024
mina-sshd-api-core:2.16.0-167.va_269f38cc024
netty-api:4.1.118.Final-9.v776038d601a_7
okhttp-api:4.12.0-195.vc02552c04ffd
p4:1.17.2
pam-auth:1.12
pipeline-build-step:571.v08a_fffd4b_0ce
pipeline-github-lib:65.v203688e7727e
pipeline-graph-analysis:245.v88f03631a_b_21
pipeline-graph-view:646.va_da_a_047edca_c
pipeline-groovy-lib:766.v2b_e08c2e6ff2
pipeline-input-step:534.v352f0a_e98918
pipeline-milestone-step:138.v78ca_76831a_43
pipeline-model-api:2.2273.v643f36ed9e94
pipeline-model-definition:2.2273.v643f36ed9e94
pipeline-model-extensions:2.2273.v643f36ed9e94
pipeline-stage-step:322.vecffa_99f371c
pipeline-stage-tags-metadata:2.2273.v643f36ed9e94
pipeline-utility-steps:2.20.0
plain-credentials:199.v9f8e1f741799
plugin-util-api:6.1192.v30fe6e2837ff
prism-api:1.30.0-630.va_e19d17f83b_0
resource-disposer:0.25
role-strategy:799.v5b_e7b_ecc231e
scm-api:710.v7b_a_484d81f45
script-security:1378.vf25626395f49
slack:795.v4b_9705b_e6d47
snakeyaml-api:2.3-125.v4d77857a_b_402
ssh-agent:386.v36cc0c7582f0
ssh-credentials:361.vb_f6760818e8c
ssh-slaves:3.1071.v0d059c7b_c555
sshd:3.374.v19b_d59ce6610
structs:353.v261ea_40a_80fb_
theme-manager:319.v9193461f9671
timestamper:1.30
token-macro:477.vd4f0dc3cb_cf1
trilead-api:2.209.v0e69b_c43c245
variant:70.va_d9f17f859e0
warnings-ng:12.9824.v4de304561b_de
workflow-aggregator:608.v67378e9d3db_1
workflow-api:1384.vdc05a_48f535f
workflow-basic-steps:1098.v808b_fd7f8cf4
workflow-cps:4209.v83c4e257f1e9
workflow-durable-task-step:1464.v2d3f5c68f84c
workflow-job:1549.vc8d7f497b_22f
workflow-multibranch:821.vc3b_4ea_780798
workflow-scm-step:452.vdf1ca_c8d3a_87
workflow-step-api:710.v3e456cc85233
workflow-support:991.v66c18437d509
ws-cleanup:0.49
ws-ws-replacement:1.0.1
xunit:3.1.5

What Operating System are you using (both controller, and any agents involved in the problem)?

Jenkins controller running Ubuntu 24.04 on a Linux box Jenkins slave(s) running on Windows Server 2022

Reproduction steps

                 stage ("SERVER") {
                     agent {
                        node {
                        docker {
                            image mycustomregistry/organiation:windows'
                            label 'windows'
                         }
                         tools {
                             jfrog = 'jfrog-cli'
                         }
                     }
                     steps {
                           // powershell: ...
                     } 

Expected Results

We would expect that the jf.exe would be installed into the container's tools directory which also is mounted on the host such that it can be cashed each time we need it (or upgraded).

Actual Results

jfrog-cli is installed in the containers tools directory as defined by Jenkins configuration. However, since this is not mounted / shared wit the host, the jfrog download is ephemeral and will go away after the build is done and the container is destroyer

Anything else?

No response

Are you interested in contributing a fix?

No response

enaess avatar Oct 02 '25 23:10 enaess