对于越来越多的构建任务,创建Slave(可以理解为代理服务器)非常重要,一是分担master的压力,提高构建的速度,二是当有多个开发团队时,可以每个团队建立自己的Slave,然后连接到master,这样方便管理。
创建Slave大体可以分为三大步骤,第一步:在master上添加节点,第二步:配置Slave服务器,第三步:配置构建任务到Slave。
master/Slave架构
Slave可以理解为master的代理,一个master可以关联多个Slave。master提供web接口让用户来管理job和Slave,job可以运行在master上,或者分配到Slave上运行。可以看一下Jenkins的master/slave架构,如下图。
在master上添加节点
1,进入节点管理
选择菜单’系统管理/管理节点’进入到节点管理页面,如下图。
2,添加节点
点击链接’新建节点’,输入节点名称,选择Dumb Slave,如下图。
3,编辑节点
其中多个机器可以写同样的标签,从而让任务在各机器间均衡,如下图。
4,进入节点列表
可以看到我们刚刚创建的节点,如下图。
5, Slave-agent下载页面
点击Slave名称出现如下界面,点击下载这两个文件,后面在配置Slave服务器的时候会用到,到这里页面操作结束,如下图。
配置Slave服务器
配置slave服务器比较复杂,有很多步骤,最好按先后顺序来配置。
1,安装vs2010
因为vs2010默认会帮我们安装好ASP.NET MVC2,visual studio 2010 tools及web deploy,包括TFS组件(从TFS获取源代码的时候需要),而这些在部署站点的时候可能会用到。
2,安装ASP.NET MVC3和ASP.NET MVC4
因为我们的公共框架CtripSZ.Frameworks.Offline等引用了ASP.NET MVC3相关dll,所以最好安装,并且先安装MVC3,然后安装MVC4。
3,安装MSBuild
下载地址:https://www.visualstudio.com/downloads/download-visual-studio-vs
这里下载的是MSBuild 2015
4,复制生成时需要的target
因为此时并不会在这个目录创建文件夹,但生成时或发布时需要它们C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio
如下图,所以需要手动从本地此目录Copy相关文件夹到slave服务器。
5,安装GAC
获取最新的GAC,然后安装到Slave服务器上。因为我们项目中的公共类库都是引用GAC中的,所以必须在Slave服务器上安装GAC。
6,安装Web Deploy
\\172.18.21.12\技术开发部\转运站\Software\Common\WebDeploy_3.6_x64.msi
用于站点的部署。
7,安装Git
\\172.18.21.12\技术开发部\转运站\Software\git\Git-2.5.0-64-bit.exe
8,安装Slave客户端
1)安装java JDK
2) 配置工作目录d:\Jenkins,并将前面下载的两个文件copy进去(也可以不放)。
3) 双击slave-agent.jnlp文件安装,并且选择安装成windows service,如下图。
9,查看Slave是否配置好
进入到master的UI查看,如下图。
配置构建任务到Slave
1,指定标签发布
进入到构建任务的配置页面,勾选’Restrict where this project can be run’选项,并且选择Label Expression指定Slave,如下图。
2,构建任务时看到确实在slave上运行
如下图。