• jenkins2 pipeline介绍


    什么是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。
  • 相关阅读:
    Centos7开启telnet登录
    Centos7编译openssh8.9p1
    20220613复盘
    20220614复盘
    20220610复盘
    Maven打包遇到No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
    如何隐藏滚动条,但是保留滚动效果?(考虑兼容性)
    Oracle高效查询数据是否已经存在
    Django框架redder函数的功能
    VUE框架 ajax请求案例天气预报
  • 原文地址:https://www.cnblogs.com/YatHo/p/6780775.html
Copyright © 2020-2023  润新知