zoukankan      html  css  js  c++  java
  • Jenkins分布式构建

    Jenkins分布式构建(Jenkins Distributed builds)

    前言:

    当自动化测试用例需要在多个PC机或虚拟机中执行时,如果在每个虚拟机中均搭建类似tomcat+jenkins的环境,将会造成例如每台虚拟机资源占用大、对环境的配置维护成本大等弊端,此时,就可以采用Jenkins分布式构建方式了。

    一、Jenkins节点配置

    1.Master配置

    1)进入Master的http://ip:8080/jenkins/网页界面

    2)进入系统管理——节点管理界面

    3)点击“新建节点”

     

     

    远程工作目录:指定远程中的节点机器的工作目录,即Job中checkout出的代码所在的workspace目录

    标签:该节点的唯一标识,当在Job中要指定只在该节点进行构建与测试时,通过该唯一标识进行指定

    其中启动方法有四种:

     

    Launch slave agents on Unix machines via SSH:                    当节点为Unix slaves时,可以选择此种方式
    Launch slave agents via Java Web Start:                               使用JNLP方式来建立slave与master的连接

    Launch slave via execution of command on the Master:           使用命令行方式

    Let Jenkins control this Windows slave as a Windows service :Jenkins将把该Windows slave当做Windows service进行控制

    对于Windows操作系统的节点,推荐用第二种Launch slave agents via Java Web Start

    点击“保存”后,在Master中一个节点就配置好了

    2.slave节点配置

     

    当节点以Launch slaveagents via Java Web Start配置好后,在节点界面将看到如图所示,其slave有三种启动方法,本质上其实就一种,即将master中的slave-agetn.jnlp文件下载至slave所在的虚拟机,然后运行文件。

    注:上图中Run from slave command line中的ip地址,如果在jenkins系统配置界面中没设置过ip的话,将为localhost,因此此时需要自己先查看下自己master机器的ip。

    因此为方便,可以将连接方式写入bat批处理文件中。
    1)进入节点虚拟机,先创建刚才配置的远程工作目录(D:\jenkins)

    2)创建bat文件,命令为例如:start_jenkins_agent.bat  内容:

    javaws http://192.168.10.181:8080/jenkins/computer/Windows_181_to_4400/slave-agent.jnlp

    3)双击运行文件即可看到slave节点与master连接

     

    注:上图中,点击File——Installas a services  可以将该slave agent以Windows系统服务运行,理论上方便于开机自启动,但作为Windows服务,是无法与GUI进行交互的,因此没法启动火狐进行selenium的自动化测试,因此如果自动化测试与GUI相关,这里千万别Install as a services。

    二、Job配置


            在Master中新建一个job,其中在配置页面中勾选Restrict when this project can be run,Label选择要在哪个节点中运行,这样就可以指定该job在哪个slave节点中运行了

    三、Jenkins slave开机自启动

    1)若要对所用用户均进行开机自启动,则将.bat启动文件的快捷方式放入 ‘Documents and SettingsAll Users“开始”菜单程序启动’  目录下

    2)若只要对指定用户进行开机自启动,则将.bat启动文件的快捷方式放入 ‘Documents and Settings <用户名字>“开始”菜单程序启动’  目录下

    注:jenkins 在1.582版本时修复了一个slave会概率性出现掉线,且无法重连,只至重启才能再次连接的问题,CancelledKeyException can cause all JNLP slaves to disconnect (and the problem remains until restart):https://issues.jenkins-ci.org/browse/JENKINS-24050
    因此建议将jenkins升级至最新的或1.582以上的版本

  • 相关阅读:
    [CareerCup] 11.6 Search a 2D Matrix 搜索一个二维矩阵
    [CareerCup] 11.5 Search Array with Empty Strings 搜索含有空字符串的数组
    [CareerCup] 11.4 Sort the File 文件排序
    [CareerCup] 11.3 Search in Rotated Sorted Array 在旋转有序矩阵中搜索
    VTK 6.3.0 Qt 5.4 MinGW 4.9.1 Configuration 配置
    [CareerCup] 11.2 Sort Anagrams Array 异位词数组排序
    [CareerCup] 11.1 Merge Arrays 合并数组
    Matlab Delete Row or Col 删除矩阵的行或列
    [CareerCup] 10.7 Simplified Search Engine 简单的搜索引擎
    [LeetCode] Nim Game 尼姆游戏
  • 原文地址:https://www.cnblogs.com/wsy0202/p/11820018.html
Copyright © 2011-2022 走看看