【问题标题】:Jenkins build agent docker specify docker file nameJenkins 构建代理 docker 指定 docker 文件名
【发布时间】:2021-12-23 05:27:37
【问题描述】:
我正在关注这个 sn-p 以添加到 jenkins 构建代理 (https://www.jenkins.io/doc/book/pipeline/docker/) 的 docker 文件中,
pipeline {
agent { dockerfile true }
stages {
stage('Test') {
steps {
sh 'node --version'
sh 'svn --version'
}
}
}
}
'dockerfile true' 查找默认的 Dockerfile。有没有办法指定 docker 文件名,因为我不想使用默认文件名,因为我的设置与已有的不同?
【问题讨论】:
标签:
docker
jenkins
jenkins-pipeline
jenkins-groovy
jenkins-docker
【解决方案1】:
是的,您绝对可以在agent 指令中指定dockerfile 文件名。这方面的一个例子(在agent 中使用dockerfile 参数的其他参数)将是:
agent { // agent directive
// Equivalent to "docker build -f Dockerfile.build --build-arg version=1.0.2 ./build/
dockerfile { // dockerfile parameter
filename 'Dockerfile.build' // filename argument and value
dir 'build'
label 'my-defined-label'
additionalBuildArgs '--build-arg version=1.0.2'
args '-v /tmp:/tmp'
}
}
在pipeline agent parameters 的文档中,您可以向下滚动到dockerfile 参数以查看参数的参数以及它们如何允许agent 自定义。