[英]Run Jenkins master and slave with Docker
我想使用Docker在服务器A上设置Jenkins master,在服务器B上设置slave。
两台服务器都是专用于Jenkins的虚拟机。
目前我已经在服务器A上为主服务器启动了Docker容器,基于官方的Jenkins docker镜像。 但是我应该为詹金斯奴隶使用什么码头图像?
这实际上取决于构建环境中所需的环境和工具。 例如,如果您构建一个C项目,则需要一个包含C编译器的图像,如果您使用Makefile,则可能make
。 如果您构建一个Java项目,那么如果您将它们用作构建的一部分,则需要一个带有Java编译器的JDK以及可能需要Ant / Maven / Gradle的JDK。
您可以使用evarga / jenkins-slave作为构建从站的良好起点。
此图像已包含JDK。 如果您只需要构建从属服务器上的JDK和Maven,则可以使用以下Dockerfile
构建Docker镜像:
FROM evarga/jenkins-slave
run apt-get install maven
将Docker镜像用于构建从属实际上是一个好主意。 部分原因出现在使用Docker容器的Templating Jenkins构建环境中 :
Docker已经成为引导隔离和可重现环境的流行且便捷的方式,这使得Docker容器成为最易维护的从属环境。 Docker容器的工具和其他配置可以在名为Dockerfile的环境定义中进行版本控制,Dockerfiles允许使用此定义快速创建多个相同的容器,或者使用Dockerfile的图像作为基础创建更多自定义的off-shoots 。
我建议你尝试使用动态|短暂的docker节点,而不是手动创建节点并通过ssh连接到它们。 看看https://engineering.riotgames.com/news/putting-jenkins-docker-container ,它非常强大,我认为它是Docker的杀手级用例之一。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.