繁体   English   中英

用Docker运行Jenkins master和slave

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM