一. 通信协议

为了master和agent能够正常通信,连接的建立必须是双向的。

  • SSH: master通过标准的SSH协议连接slave。
  • Java Web Start: Java 应用在agent 主机上启动,Master和agent通过TCP建立连接。 这种方法往往是在agnet在防火墙内部,master不能发起连接的情况下使用。
  • Windows service: 这种方法是注册 agnet在远端主机上作为一个服务。该方法设置比较繁琐,且需要图形接口的支持。

二. 设置 agent

关联slaves到master的不同方式:

  • 静态和动态对比:静态添加slave比较简单。但缺点就是假如需要更多或者更少的slave nodes的话,我们还需要手工修改。一个最好的方式就是动态的添加。
  • 指定和通用目的:就是对某个agent去做某些特定的功能或者一个agent可以构建所有的任务。

三. 常 用的四种配置方法

  • Permanent agents
  • Permanent Docker agents
  • Jenkins Swarm agents
  • Dynamically provisioned Docker agents

1. permanent agents

依次点击【Manage Jenkins】--【Manage Nodes】—【New Node】,如下图

持久agent的缺点就是需要针对不同项目类型维护多个slave 类型。解决方案如下图所示:

2. Permanent Docker agents

这个解决方案的理想方法是永久的添加常规目的的slaves. 每个slave都有相同的配置。

这种方法就是在构建时在管道中指定需要的docker image.

pipeline {
      agent {
           docker {
                image 'openjdk:8-jdk-alpine'
           }
      }
      ...

}

解决方案如下图所示:

3. Jenkins Swarm agents

以上的添加在往往需要扩容大量的salve 主机时比较麻烦。Jenkins swarm允许去动态的添加slave(不需要在jenkins master中配置它们)

(1)在Jenkins中安装【Self-Organizing Swarm Plug-in Modules】插件


(2)运行Jenkins Swarm slave应用在要扮演Jenkins slave的所有主机上。 使用swarm-client.jar应用。下载地址:https://wiki.jenkins-ci.org/display/JENKINS/Swarm+Plugin.

$ java -jar swarm-client.jar -master <jenkins_master_url> -username <jenkins_master_user> -password <jenkins_master_password> -name jenkins-swarm-slave-1

(3)在成功运行命令后,应该出现如下图所示:

4. 通过Docker agent动态的提供。

其它的办法就是在每次构建开始时,jenkins去动态的创建一个新的agent.根据构建工作的数量动态的调整slave的数量。

配置步骤:

(1)安装Docker插件


(2)打开【Manage Jenkins】。
(3)点击【Configure System】链接。
(4)点击添加新的云,选择Docker.


(5)添加Docker 模板

Jenkins配置agent的更多相关文章

  1. Jenkins 配置 SpringBoot 自动构建部署

    服务器版本 Linux version 3.10.0-957.12.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8 ...

  2. 使用jenkins配置.net mvc网站进行持续集成二

    上一篇使用jenkins配置.net mvc网站进行持续集成一只是简单介绍了jenkins构建站点到本地服务器,这一篇,就来讲解如何部署站点到指定的服务器上面. 1.IIS远程发布配置 1.在服务器管 ...

  3. 使用Gradle构建构建一个Java Web工程及持续集成环境Jenkins配置

    安装Eclipse插件——Buildship 什么是Buildship? Buildship能方便我们通过Eclipse IDE创建和导入Gradle工程,同时还能执行Gradle任务. Eclips ...

  4. jenkins配置.net mvc网站

    jenkins配置.net mvc网站 上一篇使用jenkins配置.net mvc网站进行持续集成一只是简单介绍了jenkins构建站点到本地服务器,这一篇,就来讲解如何部署站点到指定的服务器上面. ...

  5. Jenkins配置和使用

    之前整理了Jenkins的下载和安装过程,有需要的可以参考我的博客,地址:   http://www.cnblogs.com/luchangyou/p/5981884.html 接下来整理一下Jenk ...

  6. jenkins配置自动发送邮件,抄送

    1.安装插件.系统管理-安装插件:可选插件:搜索Email Extension 2.设置全局变量.系统管理-系统设置:a.Jenkins Location 设置发送方邮件--- b.Extended ...

  7. Jenkins 配置邮件通知步骤

    Jenkins 配置邮件通知前言 可以在Jenkins 中配置邮件通知,比如在构建失败时发送邮件通知项目组来及时修复问题. Jenkins 邮件通知功能的插件主要包括: Mailer Plugin ( ...

  8. 【jenkins】jenkins+maven+gitlab+testng,jenkins配置

    电脑版本:windows10企业版 jenkins配置: 1.general配置,这里的配置比较简单,基本默认就可以了 2.源码管理 2.1填写git地址,从你的gitlib项目里去找.不会的自行百度 ...

  9. 环境部署(八):jenkins配置邮件通知

    完成基于jenkins的持续集成部署后,任务构建执行完成,测试结果需要通知到相关人员.这篇博客,介绍如何在jenkins中配置邮件通知的方法... 一.安装邮件插件 由于Jenkins自带的邮件功能比 ...

随机推荐

  1. stout代码分析之零

    最近在使用mesos做高可用设计,在编译的过程中注意到mesos依赖stout,一个仅仅含有头文件的c++基础库.stout代码简洁,设计优雅,值得一读. stout从内容上可细分为以下几块: Pri ...

  2. 题解【CF277E Binary Tree on Plane】

    Description 给你平面上 \(n\) 个点 \((2 \leq n \leq 400)\),要求用这些点组成一个二叉树(每个节点的儿子节点不超过两个),定义每条边的权值为两个点之间的欧几里得 ...

  3. phpmyadmin 登录时间修改

    登录后1440秒未活动后总是自动退出,一天还要登录多次,终于有时间来解决这个问题了,感觉是session超时,结果在网上search了下,找到解决办法啦,哈哈哈,在此做个笔记:phpmyadmin在使 ...

  4. windows如何要查看IIS连接数

    1.运行,输入,perfmon.msc 2.在系统监视器,区域点击,添加计数器. 3.在“添加计数器”窗口,“性能对象”选择Web Service,“从列表选择计数器”选中Current Connec ...

  5. 理解PV操作和信号量

    对于信号量,可以认为是一个仓库,有两个概念,容量和当前的货物个数. P操作从仓库拿货,如果仓库中没有货,线程一直等待,直到V操作,往仓库里添加了货物,为了避免P操作一直等待下去,会有一个超时时间. V ...

  6. 2015年IPC网络摄像机技术发展现状分析

    网络摄像机将图像转换为基于TCP/IP网络标准的数据包,使摄像机所摄的画面通过RJ-45以太网接口或WIFI WLAN无线接口直接传送到网络上,通过网络即可远端监视画面. 一.网络摄像机的基本原理 网 ...

  7. org.hibernate.HibernateException: getFlushMode is not valid without active transaction

    Spring & Hibernate 整合异常记录: org.hibernate.HibernateException: getFlushMode is not valid without a ...

  8. Java实现JsApi方式的微信支付

    要使用JsApi进行微信支付,首先要从微信获得一个prepay_id,然后通过调用微信的jsapi完成支付,JS API的返回结果get_brand_wcpay_request:ok仅在用户成功完成支 ...

  9. [linux]linux下安装mysql

    1.安装g++$sudo apt-get install build-essential注:此命令会同时安装gcc和make2.安装cmake$sudo apt-get install cmake3. ...

  10. Java并发编程学习路线

    一年前由于工作需要从微软技术栈入坑Java,并陆陆续续做了一个Java后台项目,目前在搞Scala+Java混合的后台开发,一直觉得并发编程是所有后台工程师的基本功,所以也学习了小一年Java的并发工 ...