Jenkins 构建代理 docker 指定 docker 文件名
Jenkins build agent docker specify docker file name
我正在按照此代码段添加到 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 文件名,因为我不想使用默认文件名,因为我的设置与已有的设置不同?
是的,你完全可以在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
自定义。
我正在按照此代码段添加到 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 文件名,因为我不想使用默认文件名,因为我的设置与已有的设置不同?
是的,你完全可以在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
自定义。