• jenkins2 pipeline介绍


    文章来自:http://www.ciandcd.com
    文中的代码来自可以从github下载: https://github.com/ciandcd
     
    什么是jenkins2的pipeline?
     
    jenkins的实现是标准的master/slave模式,用户与master交互,master将job分布到slave上运行。
    jenkins的基本概念:
    1. master, 也就是jenkins的server,是jenkins的核心,主要负责job的定时运行,将job分发到agent运行,和对job运行状态的监控。
    2. agent/slave/node,agent是相对于master的概念,主要作用是监听master的指令,然后运行job。
    3. executor,executor是虚拟的概念,每一个agent都可以设置executor的数量,表示可以同时运行的job的数量。
     
    jenkins1的基本用法:
    一般使用free style的job类型,在job的里面调用一些脚本和插件来实现整个持续集成的过程,一般是将整个job发布到某台机器上运行。缺点是job的配置分布在脚本和插件中,配置不够集中,导致监控的时候log不容易查找。一般要实现整个持续集成发布流程需要多个jobs来实现。
     
    相对于jenkins1,jenkins2的核心概念是pipeline。在jenkins2中引入grovvy脚本和虚拟的概念stage使得jenkins的配置和监控更集中,更清楚。
    jenkins2的一些新概念:
    1. step,其实跟jenkins1中的概念一样, 是jenkins里job中的最小单位,可以认为是一个脚本的调用和一个插件的调用。
    2. node, 是pipleline里groovy的一个概念,node可以给定参数用来选择agent,node里的steps将会运行在node选择的agent上。这里与jenkins1的区别是, job里可以有多个node,将job的steps按照需求运行在不同的机器上。例如一个job里有好几个测试集合需要同时运行在不同的机器上。
    3. stage,是pipeline里groovy里引入的一个虚拟的概念,是一些step的集合,通过stage我们可以将job的所有steps划分为不同的stage,使得整个job像管道一样更容易维护。pipleline还有针对stage改进过的view,使得监控更清楚。
     
     
    pipeline的设计理念是实现基于groovy脚本,灵活,可扩展的持续发布(CD)工作流。
    pipeline的功能和优点:
    1. durable持久性:在jenkins的master按计划和非计划的重启后,pipeline的job仍然能够工作,不受影响。其实理解起来也很简单,jenkins的master和agent通过ssh连接,如果你知道nohup或disown的话,就可以理解为啥master的重启不会影响agent上的job继续运行。之前已经有类似的插件https://www.cloudbees.com/products/cloudbees-jenkins-platform/enterprise-edition/features/long-running-build-plugin
    2. 可暂停性:pipeline基于groovy可以实现job的暂停和等待用户的输入或批准然后继续执行。
    3. 更灵活的并行执行,更强的依赖控制,通过groovy脚本可以实现step,stage间的并行执行,和更复杂的相互依赖关系。
    4. 可扩展性:通过groovy的编程更容易的扩展插件。
     
    总之,jenkins2的核心是pipeline,pipeline的核心是groovy,我们必须马上开始学习groovy。
  • 相关阅读:
    兔子数
    忠诚
    mysql字段名与关键字冲突(near "to":syntax error)
    C/C++使用心得:enum与int的相互转换
    ubuntu重新安装 apache2
    ubuntu 删除mysql
    Notepad++ 代码格式化
    linux文件字符集转换(utf8-gb2312)
    字符编码详解——彻底理解掌握编码知识,“乱码”不复存在
    c语言判断是否是utf8字符串,计算字符个数
  • 原文地址:https://www.cnblogs.com/itech/p/5621257.html
Copyright © 2020-2023  润新知