jenkins入门13--pipeline

embedded/2025/1/13 2:18:43/

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'

}

 


http://www.ppmy.cn/embedded/153434.html

相关文章

vue项目封装api接口事项

vue项目封装api准备 vue项目vue项目目录对应的src文件夹 vue项目 本项目只提及一些修改的细节,如有错误,可在评论区指出交流。 vue项目目录对应的src文件夹 本章节针对src文件夹下操作: 封装api,需要先创建请求的request.js文件&#xff0…

MAX3232芯片介绍

MAX3232 是一个常用的 串口电平转换芯片,通常用于 RS-232串口通信 中。它的主要作用是将 RS-232 的 电平信号 转换为 TTL电平信号,使其能够与微控制器(如Arduino、STM32、Raspberry Pi等)等设备兼容。 为什么需要 MAX3232&#x…

在php中,Fiber、Swoole、Swow这3个协程都是如何并行运行的?

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons:JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram,自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 ? 5 IDEA必装的插件&…

快速实现一个快递物流管理系统:实时更新与状态追踪

物流管理是电商、仓储和配送等行业的重要组成部分。随着电子商务的快速发展,快递物流的高效管理和实时状态更新变得尤为关键。本文将演示如何使用Node.js、Express、MongoDB等技术快速构建一个简单的快递物流管理系统,该系统支持快递订单的实时更新和追踪…

软考信安19~操作系统安全保护

1、操作系统安全概述 1.1、操作系统安全概念 操作系统的安全是指满足安全策略要求,具有相应的安全机制及安全功能,符合特定的安全标准,在一定约束条件下,能够抵御常见的网络安全威胁,保障自身的安全运行及资源安全。 《信息安全技术操作系统安全技术要求(GB/T 20272—2…

element ui前端小数计算精度丢失的问题如何解决?

文章目录 前言一、什么是精度丢失?产生精度丢失的原因如何避免或减少精度丢失的影响 二、实际项目开发实例举例以项目预算模块为例如何解决精度丢失 总结 前言 在《工程投标项目管理系统》项目开发中工程项目预算、成本管理、财务管理等模块的开发中不可避免的要和…

C++中的语句

文章目录 简单语句符合语句(块)switch语句break内部变量定义 while语句for语句do while语句goto语句try块和异常处理使用预处理器进行调试 简单语句 C中,大多数语句以分号结束。程序语句最简单的形式是空语句(只有一个单独的分号…

Python Matplotlib 教程-Matplotlib 如何绘制常见图表

Python Matplotlib 如何绘制常见图表 Matplotlib 是 Python 中最流行的数据可视化库之一,提供了多种方式绘制各种图表,如折线图、柱状图、散点图、饼图等。本篇文章将从基础入门开始,逐步介绍如何使用 Matplotlib 绘制这些常见图表&#xff…