在容器中运行Jenkins Job

我有几个Jenkins作业和几个Jenkins从节点(物理机器)。 这些奴隶都运行docker1.12.1。 我想要这些工作任何这些奴隶上运行。 由于这些作业具有不同的环境要求,因此我认为可以为每个不同的环境创build泊坞窗图像,然后在作业“内部”指定作业将运行的容器。

这可能吗? 即在这些工作中指定一个特定的docker集装箱,我希望这些工作运行? 在工作结束时,集装箱将被销毁,只有工件和报告将保留。

在jenkins有几个docker插件,但我还没有find一个正是我想要的东西。

当然,答案是肯定的,这是可能的

鉴于广泛的问题,我只能指点一下。

jenkins-pipeline提供了一个很好的方式来描述你的pipe道代码。 docker插件也与之集成,这样你就可以在一个容器中运行你的工作,例如

// select a slave based on the label 'docker' node('docker') { stage "Run in container (eg the php-7)" docker.image('php:7').inside { // run your command sh "phpunit" } } 

jenkinspipe道 docker工人有几个资源可以帮助你开始。

我find了我正在寻找的插件。

https://wiki.jenkins-ci.org/display/JENKINS/CloudBees+Docker+Custom+Build+Environment+Plugin

这将做我想要的。 这将允许我在一个容器中运行我的工作。 到目前为止,它运作良好。