Jenkins-Pipeline语法篇- Pipeline指令

Jenkins-Pipeline语法总结大全 对于与源代码集成的Pipeline,如GitHub或BitBucket,triggers可能不需要基于webhook的集成也已经存在。post部分包含的是在整个pipeline或阶段完成后一些附加的步骤。该environment指令指定一系列键值对,这些对值将被定义为所有步骤的环境变量或阶段特定步骤,具体取决于environment指令位于pipeline中的位置。可定义在pipeline或stage部分。声明性Parallel的代码块中的可以嵌套多个stage,从而让多个stage任务并行执行。 阅读详情
Jenkins Pipeline 语法分类
  • Jenkins Pipeline 支持两种语法,一种 Declarative Pipeline(声明式),一种 ScriptedPipeline(脚本式)。

  • 声明式的 Pipeline 限制用户使用严格的预选定义的结构,是一种声明式的编程模型,对比脚本式的 Pipeline 学习起来更加简单;

  • 脚本式的 Pipeline 限制比较少,结构和语法的限制由 Groovy 本身决定,是一种命令式的编程模型。

  • 所以使用声明式的方式编写 jenkinsfile。一般来说 jenkinsfile 会被放在代码库的根目录下。

Pipeline 的几个基本概念
1、Stage 阶段: stages : 阶段组
  • 一个 Pipeline 有多个 Stage 组成,每个 Stage 包含一组 Step。
  • 注意一个 Stage 可以跨多个 Node 执行,即 Stage 实际上是 Step 的逻辑分组。
  • 一个Jenkinsfile 可以分为大的阶段,如打包、构建、 部署。测试
  • 构建的流程,可以分为这几步,获取源代码,然后打包,构建,进行编译,替换配置文件,编译完打包,进行部署 这个阶段就是stage
2、Node节点:
  • 一个 Node 就是一个 Jenkins 节点,可以是 Master,也可以是 Slave,是 Pipeline中具体 Step 的运行环境。
3、Step步骤:
  • Step是基本的运行单元,可以是创建一个目录、从代码库中 checkout 代码、执行一个 shell 命令、构建 Docker 镜像、将服务发布到 Kubernetes 集群中。

    • Step 由 Jenkins 和 Jenkins 各种插件提供。 dockerfile
  • step步骤 就是具体的操作,具体的一步一步的东西就是步骤step,是最小的操作单元。每个阶段都有很多步骤

options Jenkins Pipeline配置参数

options Jenkins Pipeline配置参数

参数名 说明 例子
buildDiscarder 保留最近历史构建记录的数量 buildDiscarder(logRotator(numToKeepStr: ‘10’)
checkoutToSubdirectory 将代码从版本控制库中拉取后,保存在工作目录的子目录 checkoutToSubdirectory(‘subdir’)
disableConcurrentBuilds 禁用Jenkins同时执行多次该pipeline disableConcurrentBuilds()
newContainerPerStage agent为Docker或Dockerfile时,每个stage都分别运行在一个新容器中 newContainerPerStage()
retry pipeline发生失败后重试次数 retry(4)
timeout pipeline运行超时时间 timeout(time:10, unit: ‘HOURS’)
pipeline{
   
   
    agent any
    options{
   
   
        buildDiscarder(logRotator(numToKeepStr: '10')
        disableConcurrentBuilds()
        retry(4)
        timeout(time:10, unit: 'HOURS')
    }
    stages{
   
   
        stage('demo'){
   
   
            steps{
   
   
                sh 'echo hello'
            
【自动化运维系列】jenkins 原理篇——pipeline流水线 声明式语法详解 这一节,基本上对jenkins的pipeline脚本语法做了比较完整的介绍,在以后再看pipeline脚本时,可能还会接触到许多插件提供的函数或更多的指令,但是它们都逃不开pipeline脚本的基本结构,掌握了基础语法,后面才能更上一层楼。 阅读详情

相关推荐

120.Jenkins里的Pipeline Script

Jenkins Pipeline 脚本可以包括以下内容:- **环境配置**:如环境变量、工具版本。- **构建阶段**:如检查代码、安装依赖、构建、测试、部署。- **后置操作**:如清理工作空间、发送通知。- **触发器**:如定时触发、代码提交触发。- **用户交互**:如等待用户确认。- **异常处理**:如捕获和处理错误。选择 Declarative 或 Scripted Pipeline 取决于你的需求和偏好。

坐忘了说画 2088

Jenkins Pipeline 部署总结

Jenkins Pipeline 是 Jenkins 提供的一套强大的工作流框架,它允许开发者以代码的形式定义整个软件交付过程,从而实现持续集成和持续部署(CI/CD)。通过 Pipeline,原本独立运行于单个或多个节点的任务可以被连接起来,形成一个完整的、可视化的工作流。

weixin_49599385的博客 1689

Jenkins Pipeline 详解

Jenkins Pipeline 是一套插件集合,支持将持续交付流程代码化,实现从构建到部署的自动化管理。它包含两种语法类型:声明式和脚本式Pipeline,通过节点(Node)、阶段(Stage)和步骤(Step)等核心概念组织流程。关键特性包括可持久化、可暂停、可视化及可扩展性,支持共享库复用代码。最佳实践建议合理组织代码、优化性能并注重安全,同时提供了Replay功能、语法生成器等调试工具,帮助用户构建稳定高效的CI/CD流程。

guigenyi的专栏 1205

Jenkins pipeline push Git tag

文章目录Jenkins pipeline push Git tag Jenkins pipeline push Git tag 在Jenkins pipeline中可以通过Jenkins Node服务器上的原生的git命令来创建并push Git tag: stage('Checkout') { steps { // Pull code git branch...

锐意工作室 7595

Jenkins Pipeline 例子

Jenkins Pipeline 例子 前言 Jenkins Pipeline 例子 Jenkins Pipeline 库文件 Jenkins Pipeline 小技巧 Jenkins Pipeline 例子 前言 Jenkins Pipeline as code 支持两种语法: * Declarative Pipeline * Scripted Pipeline...

锐意工作室 3948

Jenkins pipeline获取Build User和Email

文章目录Jenkins pipeline获取Build User和Email安装User Build Vars插件Jenkins pipeline demo参考文档 Jenkins pipeline获取Build User和Email 安装User Build Vars插件 打开Manage Jenkins / Manage Plugins,打开Available,搜索"user build va...

锐意工作室 7990

视频帧插学习(三):ema-vfi代码拆解和分析

video interp EMA-VFI

mikhailbran的博客 703

ROS智能车定位导航仿真+功能包自带的地图实现+自己建立的地图实现

ROS智能车定位导航仿真一、前言二、效果图三、准备工作[1.在Ubuntu上安装ROS Kinetic](https://blog.csdn.net/qq_42585108/article/details/104327661)2.创建ROS工作区间①1创建racecar_ws和src文件夹②初始化工作空间③下载racecar源代码包,并编译工程四、启动仿真1.设置环境变量2.启动地图五、建图1.启动slam和rviz2 控制车辆(左侧有个控制窗口),WASD控制前左后右的运动就可以建图了:3.新建终端保存地

qq_42585108的博客 1万+

[终于解决]Ubuntu14.04 32位安装移动网卡(0bda:b711)驱动8188gu tplink-WN726n

大致梳理一下问题解决的流程 首先,在台式机做了双系统,台式机只有一个网线接口,由于项目要求,需要占用网口传输数据,所以用之前买的tplink-WN726n免驱版2.0的移动网卡 【note】免驱版只能在Windows下安装使用,在Ubuntu系统中无法使用,所以,需要另辟蹊径。 找了很多资料,尝试很多方法,有的复杂有的简单,终于解决。 【思路】首先在Ubuntu系统中输入lsusb,查看是否检测到USB网卡设备。然后从Github中复制代码,构建,安装,然后modprobe一下,到前面那步还不行,就再来一步

瑞o 1万+

Decoder如何工作、Transformer如何训练、以及exposure bias问题

1、结合图文描述Decoder中各个模块是什么,以及是如何工作的。2、transformer是如何训练的。3、exposure bias问题造成的原因及解决方法

m0_59113542的博客 3337

python代码爬取大众点评评论!直接copy就可以运行!

python代码爬取大众点评评论!直接copy就可以运行!

QiuQiRuQin的博客 1万+

Transformer在量化交易中的应用:从时序预测到策略生成

Transformer模型凭借其强大的自注意力机制,在自然语言处理领域取得了革命性突破。其核心原理是通过并行计算和动态权重分配,有效捕捉序列数据中的长距离依赖关系。这一特性使其在金融时间序列分析中展现出巨大技术价值,能够处理市场数据中的复杂非线性模式和长期关联。在量化交易场景下,Transformer可将价格、成交量等连续数据通过离散化分桶处理,转化为类似文本的序列,进而进行预测或直接生成交易信号。本文以QuantGPT项目为例,探讨了如何将这一前沿AI架构迁移应用于金融领域,涵盖了从数据作为“语言”的编码

weixin_26757949的博客 360

OpenOCD入门到精通:第20章 Target 子系统源码分析

摘要:本章深入分析OpenOCD Target子系统的核心实现机制。重点包括:1) 通过target_type虚函数表实现多架构抽象,支持ARM、RISC-V等30+种目标;2) ARM ADIv5协议栈实现,包含DAP/AP核心数据结构和访问机制;3) 分层架构设计,从调试接口层到传输层的完整调用链路。系统采用面向对象思想,统一管理目标状态、寄存器缓存、断点/观察点等调试要素,为上层提供标准化的调试操作接口。

从事嵌入式linux android驱动开发,拥有全栈能力 172

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

上一篇: YUM源服务器的内网部署
下一篇: KeepAlived+Redis+Haproxy实现主从热备、负载均衡
几尺
博客等级 码龄7年 9粉丝 11原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值