gpt4 book ai didi

docker - Jenkins Docker 声明式 .withRun

转载 作者:行者123 更新时间:2023-12-02 16:10:52 28 4
gpt4 key购买 nike

我正在使用管道文件的声明性格式,并在使用项目根目录中的 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 ...
}
}

最佳答案

您可以将args选项添加到您的dockerfile中。它将参数直接传递给 docker run 调用:

pipeline {
agent {
dockerfile {
additionalBuildArgs '--network host'
args '--network=host'
}
}

stages {
stage('Test') {
steps {
sh 'pytest --version'
}
}
}

更多信息here

关于docker - Jenkins Docker 声明式 .withRun,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50592023/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com