首页 > 其他分享 >jenkins入门13--pipeline

jenkins入门13--pipeline

时间:2025-01-08 19:01:11浏览次数:3  
标签:node 13 git -- pipeline echo jenkins Stage stage

Jenkins-pipeline(1)-基础

为什么要使用pipeline

  1. 代码:pipeline 以代码的形式实现,通过被捡入源代码控制, 使团队能够编译,审查和迭代其cd流程

  2. 可连续性:jenkins 重启 或者中断后都不会影响pipeline job

  3. 停顿:pipeline 可以选择停止并等待人工输入或者批准,然后在继续pipeline运行

  4. 多功能:pipeline 支持现实世界的复杂CD要求, 包括fork、join子进程,循环和并行执行工作的能力

  5. 可扩展:pipeline 插件支持其DSL的自动扩展以及其插件集成的多个选项。

Pipeline的几个基本概念:

  • Stage: 阶段,一个Pipeline可以划分为若干个Stage,每个Stage代表一组操作。注意,Stage是一个逻辑分组的概念,可以跨多个Node。

  • Node: 节点,一个Node就是一个Jenkins节点,或者是Master,或者是slave,是执行Step的具体运行期环境。

  • Step: 步骤,Step是最基本的操作单元,小到创建一个目录,大到构建一个Docker镜像,由各类Jenkins Plugin提供

 新建pipeline项目

简单配置一下这里,执行 

 结果

增加步骤

node(){
    stage('第一步'){
        echo '拉代码'
    }
    stage('第二步'){
        echo '编译'
    }
    stage('第三步'){
        echo '打包'
    }    
    stage('第四步'){
        echo '发布'
    } 
}

安装Blue Ocean 插件

安装有些错误是因为blueocean-rest 没有安装,成功安装会有Blue Ocean图标

可以更好的查看流水线 

 input中断

node(){
    stage('第一步'){
        echo '拉代码'
    }
    stage('第二步'){
        echo '编译'
    }
    stage('第三步'){
        echo '打包'
    }    
    stage('第四步'){
        input '发布'
    } 
}

点击proceed

 Blue Ocean 里也可以操作

执行脚本

node (){

    stage("先看看主机名")

       sh "hostname"

    stage("在看看磁盘空间")

       sh("df -h")

    stage("拉code")

       git credentialsId: '9a86b70e-5b36-4170-b370-4a695affdb36', url: 'https://gitee.com/daxiashagnxian/coding.git'

}

发送邮件

 

 

node (){

    stage("先看看主机名")

       sh "hostname"

    stage("在看看磁盘空间")

       sh("df -h")

    stage("拉code")

       git credentialsId: '9a86b70e-5b36-4170-b370-4a695affdb36', url: 'https://gitee.com/daxiashagnxian/coding.git'
    stage('发邮件')
       emailext body: '啦啦啦啦', subject: 'test', to: 'zhaocuixia666@163.com'

}

 

标签:node,13,git,--,pipeline,echo,jenkins,Stage,stage
From: https://blog.csdn.net/daxiashangxian/article/details/144989392

相关文章

  • 使用自定义注解与反射实现多sheet表、多表头复杂Excel表解析,实现导入功能
    使用自定义注解与反射实现多sheet表、多表头复杂Excel解析一、分析Excel表多sheet表表头分析(以原料水检测表为例)表头特点:表头占用1-3行A、B列为日期、时间第2行一级表头为不同类别的废水第3行二级表表头为各类别废水中各个化学元素的浓度,特点是每个类别下的化学......
  • 【柱状图】——02
    ......
  • Mono里运行C#脚本26—CEE_ADD/MONO_CEE_ADD/OP_IADD/X86_ADD的转换过程
    Mono里运行C#脚本26—CEE_ADD/MONO_CEE_ADD/OP_IADD/X86_ADD的转换过程在Mono里,运行时需要经历好多个阶段,才可以正确地生成可执行代码,然后才能调用运行。首先C#代码被编译后,会产生CIL指令的代码,这些指令是定义在mono\cil目录里的opcode.def文件:OPDEF(CEE_ADD,"add",Pop1+......
  • 【网络协议】动态路由协议
    前言本文将概述动态路由协议,定义其概念,并了解其与静态路由的区别。同时将讨论动态路由协议相较于静态路由的优势,学习动态路由协议的不同类别以及无类别(classless)和有类别(classful)的特性等。【网络协议】静态路由详解文章目录前言正文定义分类路由协议的运行原理动态路......
  • SAP 采购-生产-销售-月结 流程
    采购流程参考:MM采购生产流程参考:物料分类账实操销售流程参考:SD销售具体有关的细节都在对应的博文里面有讲解到,这里我们只做整个流程的整合,如果存在问题,还请提出共同交流。一、创建物料TCODE:MM01创建一个标准价格控制原材料和一个移动平均价格控制原材料和两个成品物料。......
  • C++ Qt练习项目 QChar功能测试
    个人学习笔记代码仓库GitCode-全球开发者的开源社区,开源代码托管平台新建项目设计UI1、拖入group box去掉名字2、拖入2个LineEdit3、拖入两个Label4、拖入两个PushButton5、点栅格布局1、拖入GroupBox2、拖入4个PushButton3、点栅格布局1、拖入G......
  • odoo18开发手册--API数据交互
    API与数据交互一、API的概念定义API(ApplicationProgrammingInterface,应用程序编程接口)是一组定义了软件组件之间如何交互的规则和协议。它允许不同的软件系统之间进行通信和数据交换,而无需了解彼此内部的实现细节。例如,一个社交媒体平台可能提供API,允许第三方开发者创建与......
  • GPU介绍之CUDA
    关注我,持续分享逻辑思维&管理思维&面试题;可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;推荐专栏《10天学会使用asp.net编程AI大模型》,目前已完成所有内容。一顿烧烤不到的费用,让人能紧跟时代的浪潮。从普通网站,到公众号、小程序,再到AI大模型网站。干货满满。学成后可......
  • 关于RAG你不得不了解的17个技巧
    英文文章:https://towardsdatascience.com/17-advanced-rag-techniques-to-turn-your-rag-app-prototype-into-a-production-ready-solution-5a048e36cdc8#9085最近在写文章,想补上去年RAG(Retrieval-AugmentedGeneration)遗留的一些坑,希望能分享一些RAG的技巧帮到大家。......
  • 怎么手动创建线程池?
     目录 一、Executors 工具类创建的线程池潜在问题1.1.默认线程池的风险:二、为什么要手动创建:2.1.定制化线程池的好处:三、手动创建ScheduledExecutorService四、手动创建线程池的关键参数 先看代码:ScheduledExecutorServicescheduler=Executors.newSingleT......