我正在使用管道文件的声明性格式,并在我的项目根目录中使用Dockerfile定义的docker容器内运行。
我的Jenkinsfile看起来像这样:
pipeline {
agent {
dockerfile {
additionalBuildArgs '--network host'
}
}
stages {
stage('Test') {
steps {
sh 'pytest --version'
}
}
}
我想将其他参数传递给与此问题类似的docker run命令...... How to pass docker container arguments when running the image in a Jenkinsfile
是否可以以声明性管道格式执行此操作,还是应该切换?
编辑:
这基本上等同于我在非声明性中尝试做的事情:
node {
def pytestImage = docker.build('pytest-image:latest', '--network host .')
pytestImage.inside('--network=host') {
sh 'pytest --version'
// other commands ...
}
}
答案 0 :(得分:0)
您可以将args
选项添加到dockerfile
中。它将参数直接传递给docker run
调用:
pipeline {
agent {
dockerfile {
additionalBuildArgs '--network host'
args '--network=host'
}
}
stages {
stage('Test') {
steps {
sh 'pytest --version'
}
}
}
更多信息here