[英]Run Jenkins Job in a container
我有几个 Jenkins 工作和几个 Jenkins 从节点(物理机)。 这些从站都在运行 docker 1.12.1。 我希望这些作业中的任何一个都可以在这些奴隶中的任何一个上运行。 由于这些作业有不同的环境要求,我认为我可以为每个不同的环境创建 docker 映像,然后在作业“内”指定作业将在哪个容器中运行。
这可能吗? 即在这些作业中指定我希望这些作业在其中运行的特定 docker 容器? 在作业结束时,容器将被销毁,只剩下工件和报告。
Jenkins 中有几个 docker 插件,但我还没有找到一个完全符合我的要求。
当然,答案是肯定的,这是可能的。
鉴于问题的广泛类型,我只能给出指示。
jenkins-pipeline提供了一种将管道描述为代码的好方法。 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/
这将做我想要的。 它将允许我在容器中运行我的工作。 到目前为止,它运行良好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.