zoukankan      html  css  js  c++  java
  • jenkins配置slave节点 构建项目并执行操作

    1、新建与配置结点

    【系统管理】-> 【管理结点】-> 【新建结点】

    2、配置slave

    说明:

    Name:

    定义slave的唯一名称标识,可以是任意字符串,通常设置为slave主机名、ip地址

     

    描述:

    关于slave的描述,通常用于描述与其它salve的区别

     

    # of executors:

    来自官方描述:这个值控制着Jenkins并发构建的数量. 因此这个值会影响Jenkins系统的负载压力. 使用处理器个数作为其值会是比较好的选择。

    增大这个值会使每个构建的运行时间更长,但是这能够增大整体的构建数量,因为当一个项目在等待I/O时它允许CPU去构建另一个项目。

    设置这个值为0对于从Jenkins移除一个失效的从节点非常有用,并且不会丢失配置信息

     

    远程工作目录:

    指定slave的工作目录路径。最好设置为绝对路径,如“/var/jenkins”或“c:jenkins”。这里填写的是相对于slave主机的路径,正常情况下,不必对master主机可见。

     

    标签:

    标记(又叫做标签),用来对多节点分组,标记之间用空格分隔.例如'refression java6'将会把一个节点标记上'regression'和'java6'。

    举例来说,如果你有多个Windows系统的构建节点并且你的Job也需要在Windows系统上运行,那么你可以配置所有的Windows系统节点都标记为'windows', 然后把Job也标记为'windows'.这样的话你的Job就不会运行在除了Windows节点以外的其它节点之上了.

     

    用法:

    控制Jenkins如何在这台机器上安排构建.

    1)尽可能的使用这个节点

    这是默认和常用的设置. 在这种模式下,Jenkins会尽可能的使用这个节点.任何时候如果一个构建能使用这个节点构建,那么Jenkins就会使用它.

    2)只允许运行绑定到这台机器的Job

    这种模式下,Jenkins只会构建哪些分配到这台机器的Job. 这允许一个节点专门保留给某种类型的Job.例如,在Jenkins上连续的执行测试,你可以设置执行者数量为1,那么同一时间就只会有一个构建, 一个实行者不会阻止其它构建,其它构建会在另外的节点运行.

     

    启动方法:

    控制Jenkins怎么启动slave

    1) Launch slave agents on Unix machines via SSH

    通过SSH连接,发送命令来启动slave。需要提供可以登陆slave主机的帐号,可以不具备root权限。

    2)Launch slave agents via Java Web Start

    通过JNLP启动一个代理程序启动slave。这种情况下,启动是由slave初始化的,所以主机不一定要ip可达(比如隔着一层防火墙)[ The launch in this case is initiated by the slave, thus slaves need not be IP reachable from the master (e.g. behind the firewall.)]

     

    3)Launch slave via execution of command on the Master

    通融个从master上执行一个命令来启动启动slave。当master可以在salve上远程执行一个进程,比如通过ssh/rsh,可以使用这个。

     

    4)Let Jenkins control this Windows slave as a Windows service

    不推荐。往往问题多多

     

    Availability:

    控制jekins何时启动或停止slave。

    1)Keep this slave on-line as much as possible

    默认和常规设置。这种模式下,jenkins会尽量保持salve在线。如果不通过用户援助,启动slave, 如果slave不可获取,jenkins将周期性的尝试启动slave。Jenkins不会主动让slave 下线。

     

    2)Take this slave on-line when in demand and off-line when idle

    在这种情况下,jenkins可在没有用户援助的情况下启动slave,当遇到满足以下条件的不可执行任务时,jenkins将周期性的尝试启动slave:

    >在队列中等待时间已达指定启动时间( startup demand period).

    >可在slave上执行

    slave将被下线,如果:

    >slave上没有活动任务在执行

    >slave处于空闲状态时间已达到指定的空闲时间(specified idle period)。

     

    In demand delay:告诉Jenkins如果有Job需要在此节点构建,需要在任务队列等待多长时间才会进入任务状态进行构建

    Idle delay:告诉Jenkins多少分钟内如果没有Job需要构建就离线

     

    配置完后,查看Slave状态如下:

     3、点击launch按钮,这时会让我们下载一个文件,下载到我们的slave节点的远程工作目录就可以了

     然后双击slave-agent,出现connected说明连接成功

    现在回到jenkins的管理节点页面,slave节点的❌已经没有了,说明连接成功

     4、关联项目,然后运行看看是否成功了

    进入job的配置页面,勾选Restrict where this project can be run,并且在Label Expression输入奴隶节点的标签名(一个标签有可能对应多台slave节点),也可以输入slave节点的名称

    5、构建触发器

     6、直接构建看看效果  java -version 检查java版本

    构建成功了,slave节点也是ok的

     在做自动化测试的时候我们只需要将测试服务器配置为slave节点,配置好相应的job来监控开发job或者开发的代码是否有变动或者构建的动作,根据自己的情况执行测试项目的构建动作,从而实现持续集成
     
    注意:如果jenkins的配置从节点中默认没有Launch agent via Java Web Start,该如何配置使用?

    如何设置才能让出来呢?

    1:打开"系统管理"——"Configure Global Security"

    2:TCP port JNLP agents 配置成"随机",点击"Agent protocols",打勾开启"Java Web Start Agent Protocol3"

    3:检查Plugin Manager中"Enable Slave"需要打勾

     
  • 相关阅读:
    Linq增删查改
    AspNetPager 分页显示
    简单C#数据库操作类
    SQL重复记录处理(查找,过滤,删除)
    Asp.Net配置Web.config连接数据库SqlServer
    转:Asp.Net网站项目发布到IIS后验证码不能显示的问题解决
    将一行含有日期范围的数据按照单日日期拆分
    asp.net过滤HTML标签的几个函数
    循环批量更新的的存储过程(属于转载)
    CheckBox的CheckedChanged事件获取所在GridView中的Cell值
  • 原文地址:https://www.cnblogs.com/lxs1314/p/7551309.html
Copyright © 2011-2022 走看看