Jenkins配置分布式环境

1 . 安装插件

   SSh Slaves

2. jnlp选择连接方式时,

老版本:

     使用TCP port for JNLP agents jenkins 

     使用随机端口的选择:random  , 使用置顶端口:fix

     创建节点slave机时:jave web start

新版本:

     使用  TCP port for inbound agents

     使用随机端口的选择:random  , 使用置顶端口:fix

     创建节点slave机时:Lanch agent by connecting it to master

3. 任务期望在那台slave上运行依赖于label标签的关联

      选择一个任务->Configure->General->Restrict where this project can be run 设置label

      如果不指定则由Jenkins自行决定,即可以在slave节点运行,也可以在master节点运行,甚至在一次build中就可以自行来回切换

Restrict where this project can be run的解释    

定义一个逻辑表达式,它决定了哪个代理可以执行这个项目的构建。当对每个可用代理的名称和标签进行测试时,该表达式将为真或假。如果表达式的值为true,那么该代理将被允许执行该项目的构建

如果这个项目总是要建立在一个特定的代理上,或者在Jenkins主上,那么您可以只输入代理的名称,或者分别输入代理

但是,您应该避免在这里使用代理的名称,而是更倾向于针对代理的标签.对于每个代理的配置页面,以及主的配置系统页面,标签可以用来表示代理正在运行的操作系统,它的CPU体系结构,或者任何其他的特征.使用标签消除了每次添加、删除或重命名代理时在这里输入的标签表达式的需要.

标签表达式可以很简单,比如输入一个标签或代理名称,例如android-builder,或linux-机器-42。还可以使用各种操作符创建更复杂的表达式

支持的操作:

以下操作符按优先顺序受支持

(expression)

圆括号——用于显式地定义表达式的结合性

!expression

NOT-否定;表达式的结果不一定是正确的

a && b

AND-a和b的表达式都是正确的

a || b

OR-a或b的表达式都是正确的

a -> b

"如果且仅当"操作符-等同于&&&b!b & & !

4. slave的标签,slave 和 标签 并不是一一对应,多个slave可以共用一个标签 

 

你可能感兴趣的:(Jenkins配置分布式环境)