运行 容器中的 Jenkins 作业

Run Jenkins Job in a container

我有几个 Jenkins 作业和几个 Jenkins 从节点(物理机)。这些slave都是运行ningdocker1.12.1。我希望这些工作中的任何一个在这些奴隶中的任何一个上 运行 。由于这些作业有不同的环境要求,我想我可以为每个不同的环境创建 docker 图像,然后 "within" 作业,指定作业 运行 在哪个容器中。

这可能吗?即在这些作业中指定一个特定的 docker 容器,我希望这些作业在 运行 中?在工作结束时,容器将被销毁,只剩下工件和报告。

Jenkins 中存在多个 docker 插件,但我还没有找到一个完全符合我要求的插件。

当然,答案是是的,这是可以的

题型比较笼统,只能指点一下

提供了一种将管道描述为代码的好方法。 docker 插件也与之集成,因此您可以 运行 在一个容器中进行作业,例如

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

有一些关于 的资源可以帮助您入门。

我找到了我要找的插件。

https://plugins.jenkins.io/docker-custom-build-environment/

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