news 2026/2/3 7:34:24

声明式pipline流水线

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
声明式pipline流水线

Jekins1.x版本仅支持UI界面手动配置流水线(Freestyle job),而2.x版本则实现了流水线即代码的机制,支持通过代码来描述部署整条流水线,在2.x版本中用于保存pipline代码并可以被Jenkins加载的文件称为Jenkinsfile

Jenkins支持两种pipline语法:脚本式和声明式

🧩声明式pipline语法

pipline的定义有一个明确、必须遵循的结构由一些指令及嵌套代码块组成,该结构存在以下几个基本元素

Jenkins Declarative Pipeline 的基本结构(必须包含的核心元素) pipeline { agent { ... } // 必须:定义在哪个主机上执行整个 Pipeline 或 stage options { ... } // 可选:Pipeline 全局选项(如超时、重试、日志等) environment { ... } // 可选:定义全局环境变量 stages { // 必须:包含一个或多个 stage stage('名称') { // 必须:每个 stage 有名称,也就是阶段名称 agent { ... } // 可选:覆盖全局 agent environment { ... } // 可选:stage 级环境变量 tools { ... } // 可选:自动安装工具(如 JDK、Maven) options { ... } // 可选:stage 级选项 steps { // 必须:实际执行的操作步骤 // shell, script, sh, bat, docker, etc. } post { ... } // 可选:stage 执行后的操作(如通知、清理) } // 可定义多个 stage } post { ... } // 可选:整个 Pipeline 结束后的操作(成功/失败/总是) }

简答示例

pipeline { agent any stages { stage('测试') { steps { echo 'get test pipline' } } stage('代码拉取') { steps { echo '代码拉取中' } } stage('代码测试') { steps { echo '代码编译测试' } } stage('部署') { steps { echo '代码部署...' } } } }

pipeline { agent any stages { stage('拉取镜像') { steps { git branch: 'main' , url: 'http://gitlab.jiangqiu.io/test-spring-boot/spring-boot-helloWorld.git' } } stage('构建项目') { steps { sh 'mvn -B -DSkipTests clean package' } } stage('运行测试') { steps{ sh 'mvn test' } } } }

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/1/29 11:53:06

深度学习毕设项目推荐-基于python深度学习算法训练数字识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/1/30 1:03:14

大数据OLAP vs OLTP:核心区别与选型指南

大数据OLAP vs OLTP:核心区别与选型指南 关键词:大数据、OLAP、OLTP、数据分析、事务处理、选型指南 摘要:本文深入探讨大数据环境下联机分析处理(OLAP)与联机事务处理(OLTP)的核心区别&#xf…

作者头像 李华
网站建设 2026/1/29 15:26:48

阿里巴巴推出Ovis-Image:7B参数就能完美渲染文字的图像生成模型

在人工智能图像生成的战场上,一个令人头疼的问题始终困扰着研究者们:如何让计算机在生成的图片中写出清晰、准确的文字?就像一个刚学会画画的孩子,AI模型虽然能画出美丽的风景和栩栩如生的人物,但一旦需要在图片中加入…

作者头像 李华
网站建设 2026/1/30 8:52:20

页缓存技术(PageCache/sendfile/mmap)

核心概念解析 1. PageCache(页缓存) 是什么? Linux 内核将磁盘文件数据缓存在物理内存中的一块区域,称为 PageCache。作用: 读操作:若数据在 PageCache 中,直接返回,避免磁盘 I/O&am…

作者头像 李华
网站建设 2026/1/30 4:29:04

Azure Dataverse 权限设计学习

1. 创建表 https://make.powerapps.com/ 2. 管理员配置权限端 https://admin.powerplatform.microsoft.com/ 3 Dataverse 权限设计 业务部门 -> 相当于组织架构 团队 -> 组织架构的分组权限,可以把业务部门下的人员放在多个团队 用户 -> 职员 角色 -…

作者头像 李华
网站建设 2026/1/30 7:28:03

事务ACID特性详解

一、ACID基本概念 1. 原子性(Atomicity) 定义:事务的所有操作要么全部完成,要么全部不完成,不会停留在中间状态 比喻:就像银行转账,A账户扣款和B账户入账必须同时成功或同时失败 实现机制&am…

作者头像 李华