一. 通信协议

为了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. Dell 戴尔预装Windows8改成Windows7

    UEFI模式启动: 添加启动方式,正确路径为: 另外: Ubuntu启动gpt由gpt10变为gpt9 dd

  2. mysql 自动记录数据插入及最后修改时间

    总结: `uptime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 原文 应用场景: 1.在数据 ...

  3. excel自带频率分析

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...

  4. Installing kubectl

    Installing kubectl Kubernetes uses a command-line utility called kubectl for communicating with the ...

  5. Hibernate学习(3)- *.hbm.xml详解

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBL ...

  6. java项目转换依赖等问题

    最近接手了一个原始的java项目,其实很久没有做了,自从两年前用maven,建立web项目,java project基本上就没有弄个,突然的接手,发现自己好多不足,可能对于一开始就做这样的容易,但是对 ...

  7. Python学习笔记(二十)调试

    摘抄自: https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143191557 ...

  8. Docker 配置国内镜像拉取中心,Configure docker to use faster registries in China.

    Networking in China is really bad when it comes to using some cloud based tools like docker, it's us ...

  9. c++刷题(3/100)数独,栈和队列

    stack的基本操作 • s.size():返回栈中的元素数量 • s.empty():判断栈是否为空,返回true或false • s.push(元素):返回对栈顶部“元素”的可变(可修改)引用 • ...

  10. perl6 struct2-045 EXP

    测试站点: http://www.yutian.com.cn/index.action http://www.hjxzyzz.com:8088/pfw/login.action 代码如下: use v ...