【问题标题】:How to use a Jenkins tool installation in a docker container?如何在 docker 容器中使用 Jenkins 工具安装?
【发布时间】:2020-01-28 18:57:04
【问题描述】:
为了减少我的 docker 容器中的重复工作,我想在 docker 容器中运行管道步骤,并且可以安装 Jenkins 工具。
这种天真的尝试不起作用 - 找不到 npm
pipeline {
agent { dockerfile true }
tools { nodejs 'LTS' }
stages {
stage('NPM') {
steps { sh 'npm install-ci-test' }
}
}
}
这可能吗?
【问题讨论】:
标签:
docker
jenkins
jenkins-pipeline
jenkins-docker
【解决方案1】:
您可以在配置 docker 容器时通过在构建代理上挂载 Jenkins 文件夹来使其可用。
pipeline {
agent {
docker {
....
// Make tools folder available in docker (some slaves use mnt while other uses storage)
args '-v /mnt/Jenkins_MCU:/mnt/Jenkins_MCU -v /storage/Jenkins_MCU:/storage/Jenkins_MCU'
...
}
....
stage(...){
environment {
myToolHome = tool 'MyTool'
}
steps {
...
sh "${myToolHome}/path/to/binary arguments"
....
我不确定如何在构建代理上获取 jenkins 的位置路径,因此在此示例中它是硬编码的。
但它使该工具在 docker 映像中可用。