系列目录

前面我们说过,要使用ssh方式来配置windows从节点,如果采用ssh方式,则windows和linux配置从节点几乎没有区别,目前发现的惟一的区别在于windows从节点上目录要设置在c盘里,linux则可以是任意位置.原因是因为windows环境下,cd命令在没有参数的情况下,无法cd到c盘以外的其它盘.

Jenkins从节点配置

打开jenkins界面,选择左侧的Manage Jenkins标签,在出现的界面里选择Manage Nodes,然后在出现的界面左侧点击New node

在出现的界面里Node name,可以是任意名称,但是强烈建议是容易辨识的名称.

单选框选择第一项Permanent Agent

此时点击OK会出现一个更为详细的信息填写页面

  • Description为对此节点的一个自定义描述

  • # of executors执行器个数,默认为1,如果指定为多个,则jenkins将会并行向此节点调度多个任务(同一时间执行多个任务).此项设置要根据节点主机的配置和实际工作情况而定.

  • Remote root directory远程工作目录,实际上是此从节点的工作目录,为必填项,填写后,调度到此节点的任务将在这个目录下执行.

  • Labels标签,大家初看到标签可能让为它类似Description描述,没什么功能性的特征,实际上恰恰相反,它在资源调度中起着非常关键的作用.使得Label可以把多个节点组成一个逻辑单元.比如说传统.net项目必须在windows上构建,我们可以给所有集群中的windows节点都添加一个名叫windows(这里windows并没有特殊含义,可以是任意名字,但是要方便管理).这样在创建任务的时候可以指定只在windows机器上执行,这样master节点创建任务时,只会将任务调度到含有windows标签的机器上.这里仅仅是一个例子,标签不仅仅可以标识机器系统的类型,还可以标识其它信息,比如说有些java项目允许在windows和linux上编译,但是jdk环境必须是1.7,我们就可以给包含jdk 1.7的主机打上标签,创建此类任务时指定标签,jenkins就只会将任务调度到这些节点上.

从名称Lables上就可以看出,一个节点可以指定多个label,多个之间用空格分割.

  • Usage用途,是复选类型,共有两个选项

1) Use this node as much as possible 默认选项,jenkins将自由使用此节点,当有任务可以调度到此节点时(如果创建任务时没有限制,并且没有达到最大并行度,则jenkins可以将任务调度到此节点),jenkins就可能会将任务调度到此节点.

2) Only build jobs with label expressions matching this node仅调度label与此节点匹配的任务.这种模式下,仅当创建任务时指定了标签并且标签匹配此节点时jenkins才会将任务调度到此节点上来.

这种模式下jenkins将为特定的任务预留节点,比如你想要进行性能测试时,你可能仅仅想把此任务运行在特定配置的机器上.这时候可以使用这种模式,只有指定了标签的任务才会调度到这些机器上运行

仍以性能测试为例,你在特定机器上运行性能测试时,使用标签能保证任务被分配到正确的节点上,但是可能会产生多个性能测试被分配到同一节点的情况,这种情况会严重影响性能测试结果,是 需要避免的,我们可以把# of executors值设置为1,则当此节点有任务在运行时,jenkins就不会再分配任务到此节点.

  • Launch method启动方式,这里我们选择Launch agent agents via SSH通过ssh方式启动.

  • Host,填写主机的Ip

  • Credentials密钥,如果没有密钥,可以点击后面的add添加一个,会出现一个添加对话框.kind选择ssh username with private key,username主节点的用户名,Private Key勾选enter directly.我们把c:/Users/当前用户名/.ssh/id_rsa里的内容复制粘贴到这里.

同时,我们需要把master节点上的c:/Users/当前用户/.ssh/id_rsa.pub里的内容复制到从节点c:/Users/当前用户/.ssh/authorized_keys里面.不了解ssh登陆的用户可以查阅相关资料.

注意,如果在生成ssh key的时候指定了Passphrase和id,这里也需要配置.

完了之后点击OK

添加完成后Credentials里选择刚添加的key.

其它的都是默认选项,完了点击Save,如果节点正常启动,则在jenkins首页左侧列出来,并且图标上没有红叉标识,如果有红叉标识的,则需要看配置哪里有问题,然后做处理

完整的配置如下

配置成功的节点展示如下

持续集成高级篇之Jenkins windows/linux混合集群搭建(二)的更多相关文章

  1. 持续集成高级篇之Jenkins资源调度

    系列目录 之前的示例我们主要关注点在于功能的实现,都是在一个节点的完成了.有了多个节点后,必须涉及到资源的调度问题.本节我们讲解在创建任务时与资源调度的有关选项以及一些平时没有注意到的但在生产环境需要 ...

  2. 持续集成高级篇之Jenkins cli与Jenkins ssh

    系列目录 Jenkins Cli介绍 Jenkins Cli为Jenkins提供的一个cli工具,此工具功能非常强大,可以完成诸如重启jenkins,创建/删除job,查看job控制台输出,添加/删除 ...

  3. 持续集成高级篇之Jenkins Pipeline 集成sonarqube

    系列目录 前面章节中我们讲到了Sonarqube的使用,其实Sonarqube获取msbuild结果主要是执行三个命令,开始标记,执行msbuild,结束标记,这些都是命令,是非常容易集成到我们ci流 ...

  4. 持续集成高级篇之Jenkins Pipeline git拉取

    系列目录 PipeLine中拉取远程git仓库 前面讲自由式任务的时候,我们可以看到通过自由式job里提供的图形界面配置git拉取非常方便的,实际上使用PipeLine也并不复杂.这一节我们展示一下如 ...

  5. 持续集成高级篇之Jekins脚本参数化构建

    系列目录 本系列已经很久没有更新了,接前面基础篇,本系统主要介绍jenkins构建里的一些高级特性.包括脚本参数化,Jenkins Pipeline与及在PipeLine模式下如何执行常见的传统构建任 ...

  6. windows下Nacos集群搭建与nginx集成

    前言: nacos集群至少需要三个(一般为奇数个)nacos实 例,其前面顶nginx,外界入口从nginx入 一.windows下Nacos集群搭建 将Nacos的解压包复制分成3份,分别是: na ...

  7. 持续集成高级篇之基于win32-openssh搭建jenkins混合集群(一)

    系列目录 前面的demo我们使用的都是只有一个windows主节点的的jenkins,实际生产环境中,一个节点往往是不能满足需求的.比如,.net项目要使用windows节点构建,java项目如果部署 ...

  8. Linux Redis集群搭建与集群客户端实现(Python)

    硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...

  9. Linux Redis集群搭建与集群客户端实现

    硬件环境 本文适用的硬件环境如下 Linux版本:CentOS release 6.7 (Final) Redis版本: Redis已经成功安装,安装路径为/home/idata/yangfan/lo ...

随机推荐

  1. Xamarin Android 监听音量键(下)

    上篇在 MainActivity 中重写了按键事件(OnKeyDown),获取了音量键键值并打印了出来,当然,手机物理按键和虚拟按键(音量键.返回键.菜单键等)均可通过该按键事件被捕获. 但是,按键重 ...

  2. echarts3.x 入门

    echarts 使用 1.getStart 1.1引入 echart <!-- 引入 ECharts 文件 --> <script src="echarts.min.js& ...

  3. Python递归函数,二分查找算法

    目录 一.初始递归 二.递归示例讲解 二分查找算法 一.初始递归 递归函数:在一个函数里在调用这个函数本身. 递归的最大深度:998 正如你们刚刚看到的,递归函数如果不受到外力的阻止会一直执行下去.但 ...

  4. scapy构造打印ARP数据包

    ARP格式: 用于以太网的ARP请求/应答分组格式 各字段含义: 帧类型:表示数据部分用什么协议封装(0800表示IP,0806表示ARP,8035表示RARP). 硬件类型:表示硬件地址的类型(其中 ...

  5. django在启动时抛出Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试 解决办法

    1.适用场景 在启动某个服务的时候,比如python中django启动的时候8000端口被占用,导致无法启动服务. 2.解决办法 通过命令行找出端口对应的PID进程 C:\Users\micha> ...

  6. 配置Oracle透明网关用以连接 SQLServer经验总结

    一.情景介绍   业务中设计两个不同的系统,系统1和系统2,两个系统分别使用的是Oracle和SQLServer数据库.现需要在系统1的数据库中直接查询系统2数据库的数据.即在Oracle中执行SQL ...

  7. Django安装于基本介绍

    pycharm果然是最强大的python IDE,在创建Diango项目时如果没有则自动下载. 然而即使是这样,我在安装Django的时候还是比较曲折的. Django的安装方式有很多,但是因为网络问 ...

  8. 关于在taro使用wx.parse那些事

    好久不见,好久没更新博客,最近工作也比较忙,今天在使用解决富文本的时候遇到两个bug,由于第一次使用wx.parse经验不足,走了很多弯路,今天特地把自己修复bug的感想分享一下,希望能帮助更多的小伙 ...

  9. 写论文的第五天 hive安装

    Hive的安装和使用 我们的版本约定: JAVA_HOME=/usr/local /jdk1.8.0_191 HADOOP_HOME=/usr/local/hadoop HIVE_HOME=/usr/ ...

  10. Flask框架(二)—— 反向解析、配置信息、路由系统、模板、请求响应、闪现、session

    Flask框架(二)—— 反向解析.配置信息.路由系统.模板.请求响应.闪现.session 目录 反向解析.配置信息.路由系统.模板.请求响应.闪现.session 一.反向解析 1.什么是反向解析 ...