Jenkins之创建Slave

    对于越来越多的构建任务,创建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上运行

如下图。

时间: 2024-10-05 15:01:40

Jenkins之创建Slave的相关文章

Jenkins设置Master/Slave

说明:通过master/slave模式,可以在master节点上统一管理其他slave节点. 下面说明一步步实现master/slave模式. 第一步:以管理员登录jenkins.点击"系统管理/管理节点". 注:一般用户也可以添加节点.IE输入:http://ip:port/jenkins/computer/即可介入节点视图. 第二步:选择"新建节点".如果是首次创建,则只有"dumb slave"可用,否则还可从现有节点复制. 第三步:选择&

jenkins在linux下使用时使用的jenkins默认创建的用户

linux的权限比较严格,使用jenkins用户,会有很多的限止.这里的解决方法是修改jenkins运行时使用的用户. 修改为root或者其它权限稍大的用户,不一定修改为root.这里只做演示. JENKINS_HOME="/var/lib/jenkins"## Type: string## Default: ""## ServiceRestart: jenkins## Java executable to run Jenkins# When left empty,

jenkins新建节点slave架构多节点发布任务

如何使用jenkins中的slave架构? 使用jenkins的时候,由于单节点的的架构,导致不能满足多种需求,比如测试环境和生产环境,可能你测试环境是一套环境,另外的生产环境又是一套环境,为了节省节点,那么只需要在你之前的jenkins环境中开启一个slave的节点进行配置就能使用这个jenkins-slave去发布你的任务了,这样也是非常方便运维,这是根据每个开发环境的不同去实现的,这里只是我个人经验,仅供参考. 这里就分为一步,打开你的jenkins,打开系统管理,找到节点管理,新建节点这

Jenkins 批量创建任务的三种方法

最近,要搭建多套测试环境,需要把 Jenkins 中 dev 视图下的所有任务批量复制到 sit 等视图下. 说明 Jenkins 任务名称规则为:[测试环境标识]-[工程名称],如:dev-daodaotest,sit-daodaotest. 视图中显示任务的正则表达式:[测试环境标识]-.* ,如:dev-.*,sit-.*. 第一种:目录下批量复制 Jenkins 的任务都是以 xml 文件方式存储的,所有可以通过复制 xml 的方式来批量创建. # 进入 jobs 目录下 $ cd ~/

Jenkins的Windows Slave的配置

原文:http://www.cnblogs.com/itech/archive/2011/11/09/2243025.html 参考: https://wiki.jenkins-ci.org/display/JENKINS/Step+by+step+guide+to+set+up+master+and+slave+machines 一 创建新的Slave 注意Jenkins中slave称为note. 所以下面文章中的slave和node指的是一回事. 1)在Manage Jenkins-->Ma

k8s版jenkins中master/slave模式

k8s环境: master 192.168.0.91 node 192.168.0.92 下面所有操作都是在node:192.168.0.92上进行 生成自定义Jenkins master镜像 原始的Jenkins master镜像并不符合我们当前需求,所以在原始镜像的基础上做了一些改变,这一步并不是必须的,主要是看具体需求 下载原始镜像 链接:https://pan.baidu.com/s/14z5BnFAXYoMnDoXbiNgmuQ 提取码:ecsq 导入镜像 docker load <

jenkins集群slave部署

1.slave机器安装jdk配置环境变量,无需添加jenkins用户,安装jdk教程如下http://blog.51cto.com/yht1990/2151730 原文地址:http://blog.51cto.com/yht1990/2151732

Jenkins的Windows Slave分布式构建和部署

1.新建的Slave:系统管理-->管理节点-->新建节点 远程工作目录 即是 节点服务器 站点文件存放目录 在配置节点时 启动方法 配置的选项中的 Launch agent via Java Web Start 找不到这个选项 原因是 TCP port for JNLP agents 此项配置没有选中 随机选取 解决办法: 系统设置-->Configure Global Security-->TCP port for JNLP agents 2.新建完节点后出现如下图界面: 点击

java.io.ioexception failed to mkdirs jenkins xcode || jenkins 无法创建新文件

=========================================================== FATAL: Failed to mkdirs: /Users/chenqing/Sqy/iOSProject/cyou/Svn/Cos/CosXCode_lxh/test-reports java.io.IOException: Failed to mkdirs: /Users/chenqing/Sqy/iOSProject/cyou/Svn/Cos/CosXCode_lxh