jenkins支持主从模式,这将会把构建任务分发到多个从节点去执行,这样就可以支撑起多个项目的大量构建任务,同时,你可以提供多种环境(如:开发环境、生产环境)来对同一个项目进行测试和构建。想要进一步了解jenkins主从模式的话可以参考官方文档。

本文档将针对配置 ubuntu 从节点进行图文介绍,希望可以减少读者试错浪费的时间。本文使用的是 jenkins 2.46.3 版本。

从节点准备工作

一个主机要作为jenkins的从节点需要满足两个条件:

  • 该主机需要装有java运行环境
  • 该主机允许jenkins master 服务器免密登录

设 jenkins master 为 A , 从节点 为 B 。我们进行如下准备工作:

  1. SSH登录 B , 安装 java 环境

    sudo apt-get update
    sudo apt-get install openjdk-8-jdk
    java -version
  2. SSH登录A,如果还没有SSH密钥,则先生成SSH密钥,执行:

    ssh-keygen

    全部按Enter使用默认值。

    有了密钥之后,将密钥传送到远程主机,执行:

    ssh-copy-id <user-name>@<remote-host>

    这样,我下次登录<remote-host>上的<user-name>账户时就不需要密码了,可以试一下,执行:

    ssh <user-name>@<remote-host>

    了解更多ssh远程登录的内容可以参考 SSH原理与运用(一):远程登录

在jenkins上配置从节点

  1. 打开jenkins,点击【系统管理】,选择【管理节点】

  2. 点击【新建节点】

  3. 输入【节点名称】,选中【permanent agent】,点击【OK】

  4. 配置节点,按照下表所示输入,加粗文字注意一下:

    配置项 配置
    名称 填节点名称
    描述 节点描述
    of executors 不改动。并发数量
    远程工作目录 填写从节点上jenkins agent的工作目录,推荐只用绝对路径,如/home/<user-name>/jenkins-agent注意jenkins要有该目录的读写权限
    标签 不改动。jenkins可以通过标签指定一组从服务器运行某个构建任务
    用法 不改动。可以指定什么情况下使用该从节点,可以有“尽可能使用该节点”和“只有任务指定了使用该节点时,才用该节点运行”两种选择
    启动方法 选择”launch slave agents via SSH”
    主机 填写从服务器的ip或域名
    Credentials 填写SSH认证信息,见附文1
    Host Key Verification Strategy 选择 Manually Trusted Key Verification Strategy,这会在完成配置后,第一次连接从节点时要求我们手动确认当前连接的从节点的身份。说明一下,Host Key 验证是用来防止中间人攻击的
    Require manual verification of initial connection 选中
    Availability 不改动。可用性
    高级——java路径 填写从主机上的java的路径,可以使用which java 查看。如果这里不填,jenkins会扫描一些特定路径,如果扫描不到java,就会报错,所以建议填写
    Environment variables 勾选上,并填写运行构建任务所需要的环境变量。建议填上JAVA_HOME,免得jenkins运行构建任务时找不到java。

    填完之后,点击【保存】

  5. 手动验证从节点身份

    由于上面我们使用了“Manually Trusted Key Verification Strategy”策略,所以,这里我们需要手动验证一下从节点的身份。

    点击我们刚刚新建的从节点:

    点击【Trust SSH Host Key】,点击【是】:

    点击【Launch agent】:

附文1:填写SSH认证信息

  1. 点击【add】,选择【jenkins】

  2. 参照下图输入,然后点【add】

    千万注意:要填私钥位置,不是公钥喔!

  3. 选择刚刚创建的认证

参考文档

  1. Failed known_hosts verification for SSH agent
  2. Host Key Verification for SSH Agents

Jenkins主从节点配置相关推荐

  1. Jenkins slave 节点配置

    准备工作 插件安装 SSH Build Agents,允许使用 SSH 协议的 Java 实现通过 SSH 启动代理. Jenkins master 节点机器 Jenkins slave 从节点机器 ...

  2. ubuntu 部署 redis 主从节点配置

    为什么80%的码农都做不了架构师?>>>    准备两台虚拟机,示例系统是ubuntu14.14 192.168.26.133 6379 主 写 192.168.26.134 637 ...

  3. 第十四章:详解Jenkins节点配置

    2014-03-02:修正对于lable标签的理解.(1.532.1版本已经给出了官方解释) 2013-12-22:添加JNLP端口修改,修改了一些错误. Jenkins有个很强大的功能:分布式构建( ...

  4. 【Jenkins】节点的配置与项目绑定

    一.环境准备 我的测试环境: 控制节点:main_node 受控节点:node1,node2 该示例是使用三台虚拟机搭建的测试环境,实体机搭建过程与虚拟机相同. 1.在控制节点上安装Jenkins J ...

  5. Jenkins分布式部署配置

    为什要使用Jenkins分布式? 利用jenkins分布式来构建job,当job量足够大的时候,可以有效的缓解jenkins-master上的压力,提高并行job数量, 减少job处于pending状 ...

  6. mysql主从同步配置超详细_MySQL主从同步配置

    一. 理论部分 MySQL主从同步 主从同步使得数据可以从一个数据库服务器复制到其他的服务器上.在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave). 因为复制 ...

  7. mysql主从从配置详解_MySQL主从配置详解

    ● 本打算买个云数据,为我的新项目做点安全保障.阿里云,腾讯云转了一圈,两个字太贵.不就数据有备份吗,既然这样那我不如自己来做备份. ● 家里有2个树莓派直接把mysql备份到他们上就好了,网上有教程 ...

  8. centos mysql 同步时间_centos:mysql主从同步配置(2018)

    centos:mysql主从同步配置(2018) 主服务器:10.1.1.144; 从服务器:10.1.1.163; 配置过程 1.进入主服务器,停止主服务mysql服务: systemctl sto ...

  9. jenkins自动部署配置

    jenkins自动部署配置 新建item 在jenkins首页新建item->选择构建一个maven项目->确定 新页面中: 源码管理:选择Git-> Repository URL: ...

最新文章

  1. Vmware安装提示在关闭以下进程 之前,无法进行安装的解决办法
  2. java disruptor压测_Java并发框架Disruptor实现原理与源码分析(二) 缓存行填充与CAS操作...
  3. 真香 | 有了这个神器,学习 Vim 终于不难了!
  4. java中的缩小_在Java中,加宽转换(隐式)和缩小转换(显式)之间有什么区别?...
  5. 一个asp.net2005的页面文件调用CSS样式的BUG
  6. oppoJava面试!传智播客java基础案例教程
  7. vue 引用src中的文件_Vue中引用第三方JS文件
  8. PCB设计流程一原理图
  9. Centos7 Springboot 启动脚本
  10. 风险评估(Risk Assessment)
  11. Java调用百度翻译openapi实现简单翻译功能
  12. What You Must Know To Build Savvy Push Notifications(推送策略)
  13. hourglass论文_人体姿态估计论文笔记-Hourglass
  14. 微信小程序商城(微店)系统部署及搭建 电商类
  15. excel美化技巧-持续更新
  16. 28.查询所有学生的课程及分数情况(存在学生没成绩,没选课的情况)
  17. 如何确定系统上的CPU插槽数量
  18. LARS回归算法的几何意义
  19. 电机专用MCU芯片LCM32F037系列内容介绍
  20. 保定学院数学与计算机系2016,保定学院数学与计算机系

热门文章

  1. Android 捕获异常,上报异常日志,捕获奔溃日志,bugly使用实例
  2. Python 异步操作文件 aiofiles
  3. 软件测试个人心得总结
  4. 超链接js点击后页面向上滚动问题解决
  5. numpy将所有数据变为0和1_Numpy库学习
  6. centos7开启vnc服务_CentOS 7.2搭建VNC远程桌面服务的方法
  7. CMD窗口的cd命令
  8. Java枚举的定义,使用
  9. 1013 数素数 (20分)
  10. leetcode 701 二叉搜索树的插入操作 C++ 递归和迭代