每次手动打包部署心里直打鼓?快来认识一下Jenkins构建分发器,这位自动化界的老司机能让你彻底告别重复劳动,跟手动打包的苦日子说拜拜!
1 Jenkins构建分发器:不只是听起来高大上
想象一下你做饭的流程:买菜(写代码)→洗切配(构建)→尝味道(测试)→上桌(部署)。传统手工模式是你一个人吭哧吭哧干完所有步骤,累了不说,端盘子上桌时万一失手,整盘菜撒一地……完犊子!
而Jenkins构建分发器就像是您开了个“自动化厨房”:
- CI(持续集成):只要你买好菜放进口袋(代码提交到仓库),它就自动洗切配、尝咸淡,快速发现“菜”本身的问题。
- CD(持续交付/部署):CI验证合格的“预制菜”,可以自动打包好随时上桌,或者直接自动端上指定餐桌。
Jenkins就是这个帮你搭建和管理“自动化厨房”的超级管家!你只管提交代码(买菜),它帮你搞定后面所有流水线操作。
1.1 为什么需要构建分发器?
对于某些特定场景,单节点不足以满足需求:
- 如果所有执行程序都忙于处理构建任务,则作业必须等待。
- 当项目的数量或负载增加时,很可能会耗尽资源。
- 有时您可能需要几个不同的环境来测试您的构建,单个Jenkins服务器无法完成此操作。
- 如果定期构建更大、更重的项目,则单个Jenkins服务器将无法简单地处理整个负载。
为了恢复并运行Jenkins基础设施,需要通过增加内存、CPU等来增强服务器,而这不具备可扩展性,必须根据需求维护和升级服务器。
Jenkins构建分发器通过将构建任务分散到多个节点上执行,主控节点负责管理和分发任务,而工作节点则负责执行具体的构建、测试等操作,从而实现负载均衡和职责明确。
2 Jenkins分布式架构:拆解“自动化厨房”的组织结构
2.1 主从架构:厨房的管理体系
Jenkins使用主从架构管理分布式构建。在这种架构中,主站和从站通过TCP/IP协议进行通信。
通过这种配置,可以横向扩展Jenkins架构,其中Jenkins将安装在单个节点上。
2.1.1 Jenkins主节点:厨房总指挥
您的主要Jenkins服务器是主节点。主节点的工作是处理:
- 调度构建作业。
- 将构建分派给实际执行的从节点。
- 监视从节点(可能根据需要使它们联机和脱机)。
- 记录并显示构建结果。
- Jenkins的主节点也可以直接执行构建作业。
2.1.2 Jenkins从节点:专业厨师团队
从节点是在远程计算机上运行的Java可执行文件。以下是Jenkins从节点的特点:
- 接收来自Jenkins主接点的请求。
- 从节点可以在各种操作系统上运行。
- 从节点的工作就是按照命令执行,包括执行主节点分配的构建作业。
- 您可以将项目配置为始终在特定的从节点或特定类型的从节点上运行,或者仅让Jenkins选择下一个可用的从节点。
2.2 节点职责明确:各司其职的专家团队
在进行自动化部署时,你可以按照项目的类型去进行分别部署,这样即可以达到负载均衡,又可以达到一种职责的明确。
比如像Java的项目你可以使用Linux服务来进行部署(拉代码,还原,编译,发布,生成镜像,推镜像到仓库,建立服务等),而对于.NET项目你可以使用Windows服务器来实现Jenkins的节点。
3 实战:搭建Jenkins分布式构建环境
3.1 环境准备
在开始之前,我们需要准备好以下环境:
- 主节点:一台已安装Jenkins的服务器
- 从节点:一台或多台远程机器(可以是物理机、虚拟机或容器)
- Java环境:所有节点都需要安装Java运行时环境
- 网络连接:确保主节点和从节点之间可以相互通信
3.2 安装Jenkins主节点
如果您还没有安装Jenkins,可以参考以下步骤:
方式一:使用Docker安装(最简单)
docker run -d --name myjenkins -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts-jdk11
访问 http://你的服务器IP:8080,按照提示从初始密码解锁就行。
方式二:在Linux上安装
# 在CentOS上安装Jenkins
yum install -y jenkins
# 在Ubuntu上安装Jenkins
sudo apt-get install jenkins
sudo systemctl start jenkins

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



