首页 > 解决方案 > 如何在 Jenkins DSL 脚本中使用 dockerfile 代理

问题描述

我需要使用 DSL 将 Jenkins 管道反向移植到旧的 Jenkins 作业格式。我被困在代理部分:

agent {
    dockerfile {
        label 'buildDockerNode'
        dir 'devops/k8s/build'
    }
}

如何在旧 Jenkins 上使用此方法?在旧的 Jenkins 作业 DSL 中,我只看到label相应管道语法的配置。任何想法都值得赞赏。

标签: jenkinsgroovy

解决方案


我找到了buildInDocker包装器的解决方案:

https://jenkinsci.github.io/job-dsl-plugin/#path/job-wrappers-buildInDocker

job('example-2') {
    wrappers {
        buildInDocker {
            dockerfile()
            volume('/dev/urandom', '/dev/random')
            verbose()
        }
    }
}

推荐阅读