当前位置: 首页 > news >正文

声明式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' } } } }

http://www.jsqmd.com/news/206645/

相关文章:

  • 基于SpringBoot的美食推荐系统(毕业设计项目源码+文档)
  • 混沌之舞:双摆系统仿真与AI交互式应用开发全解
  • 基于SpringBoot的美食信息推荐网站系统(毕业设计项目源码+文档)
  • 页缓存技术(PageCache/sendfile/mmap)
  • 浙江大学团队全球首创AI创新能力测试:让机器人也能当“发明家“
  • 基于SpringBoot的面试刷题平台系统的设计与实现(毕业设计项目源码+文档)
  • 字节跳动团队揭示如何让万能AI变得更高效
  • 密歇根大学让AI视觉推理更靠谱:从“瞎猜“到“真看懂“的技术革命
  • 南洋理工大学团队重新定义AI看世界:让机器像人类一样观察和思考
  • 韩国大学团队揭秘:ChatGPT等AI模型是如何“类比思考“的?
  • 工程项目管理工作台怎么搭建?掌握这四点就够了
  • 内部收益率IRR是什么?3分钟掌握
  • 大语言模型在金融市场异常检测中的推理应用
  • C++用new创建对象和不用new创建对象的区别解析
  • 仓库管理的五大环节,你都做到位了吗?
  • 自考必看!8个高效降AIGC工具推荐
  • 事务ACID特性详解
  • 含光热电站、有机有机朗肯循环、P2G的综合能源优化调度附Matlab代码
  • 计算机深度学习毕设实战-基于 人工智能深度学习算法训练数字识别
  • 学长亲荐2026专科生必备10款AI论文写作软件测评
  • 含氢气氨气综合能源系统优化调度研究附Matlab代码
  • 【课程设计/毕业设计】基于机器学习深度学习算法训练数字识别
  • Spring 三级缓存详解
  • 2025金三银四:大模型训练岗年薪百万技术栈揭秘,非常详细收藏我这一篇就够了!
  • 前端Vue开发环境搭建(安装Node.js)
  • Azure Dataverse 权限设计学习
  • 分布式事务原理及实际业务场景详解
  • 基于JAVA框架的学生宿舍寝室报修管理系统的设计与实现应用和研究
  • 【SCI复现】基于RSSA算法的冷热电联供型微网优化调度附Matlab代码
  • 车辆GPS数据实战方案:SpringBoot + Kafka + Redis + MongoDB 全栈实现