• jenkins高级篇 pipeline系列之-—01简介


    一、简介 

    Pipeline是Jenkins2.X的最核心的特性,帮助Jenkins实现从CI到CD与DevOps的转变

    Jenkins从根本上讲是一种支持多种自动化模式的自动化引擎。Pipeline是一组插件,让Jenkins可以实现持续交付管道的落地和实施。

    Pipeline五大特性
    
    代码:Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑、审查和迭代其CD流程。
    可持续性:Jenklins重启或者中断后都不会影响Pipeline Job。
    停顿:Pipeline可以选择停止并等待任工输入或批准,然后再继续Pipeline运行。
    多功能:Pipeline支持现实世界的复杂CD要求,包括fork/join子进程,循环和并行执行工作的能力
    可扩展:Pipeline插件支持其DSL的自定义扩展以及与其他插件集成的多个选项。

     图一、CD Pipeline的流程图

    二、相关基本概念:

    pipeline 支持两种语法
     - Declarative 声明式
     - Scripted pipeline 脚本式

    • agent: 表示Jenkins应该为Pipeline的这一部分分配一个执行者和工作区。
    • Stage:阶段,一个Pipeline可以划分成若干个Stage,每个Stage代表一组操作,例如:“Build”,“Test”,“Deploy”。注意,Stage是一个逻辑分组的概念,可以跨多个Node
    • Node:节点,一个Node就是一个Jenkins节点,或者是Master,或者是Agent,是执行Step的具体运行环境。
    • Step:步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个Docker镜像,由各类Jenklins Plugin提供,例如:sh ‘make’

    三、变量使用

    3.1 Jenkins  Pipeline通过全局变量公开环境变量

    http://jenkins.kingtool.top/jenkins/pipeline-syntax/globals#env

    3.2 变量传递

    1. 自定义变量(局部)

    def username = 'jenkins'
    echo "hello Mr.${username}"

    2. 环境变量

    withEnv(['JAVA_HOME=/data/jdk']) {
      sh '$JAVA_HOME/bin/start.sh'
    }

    3. 环境变量(全局)

    environment {
            JAVA_HOME='/data/jdk'        
    }
    
    echo " java path $JAVA_HOME"

    4. 参数化构建(全局)

    parameters  {
            string(name: 'GIT_BRANCH', defaultValue: 'master', description: 'default build branch')  
    }
    
    调用:
     echo  "${params.name}" 

     Jenkins2.0中提供了流水线语法查询的功能,可以自动生成流水线代码片断,直接拷贝粘贴就可以。

    参考资料

    官方文档

    简书-参考

    https://testerhome.com/topics/10033

  • 相关阅读:
    Yaf 在 Nginx 中的配置
    关于 GPG 用这个 就够 了
    PHP 服务器端处理跨域问题
    Linux 终端代理方式
    【转载】Oracle数据字典详解
    【转载】Oracle之内存结构(SGA、PGA)
    【转载】 使用rman进行坏块修复(ORA-01578、ORA-01110)
    【转载】使用Exp和Expdp导出数据的性能对比与优化
    【转载】oracle dbms_metadata.get_ddl的使用方法总结
    ORACLE执行详解
  • 原文地址:https://www.cnblogs.com/liuyitan/p/11377488.html
Copyright © 2020-2023  润新知