持续交付-Pipeline入门

简介: Pipeline 是 Jenkins2.X 的最核心的特性,帮助 Jenkins 实现从 CI 到 CD 与 DevOps 的转变。Pipeline 是一组插件,让 Jenkins 可以实现持续交付管道的落地和实施。持续交付管道(CD Pipeline)是将软件从版本控制阶段到交付给用户或客户的完整过程的自动化表现。软件的每一次更改(提交到源代码管理系统)都要经过一个复杂的过程才能被发布。

Pipeline 是 Jenkins2.X 的最核心的特性,帮助 Jenkins 实现从 CI 到 CD 与 DevOps 的转变。
Pipeline 是一组插件,让 Jenkins 可以实现持续交付管道的落地和实施。持续交付管道(CD Pipeline)是将软件从版本控制阶段到交付给用户或客户的完整过程的自动化表现。软件的每一次更改(提交到源代码管理系统)都要经过一个复杂的过程才能被发布。

Pipeline 提供了一组可扩展的工具,通过 Pipeline Domain Specific Language(DSL)syntax 可以达到 Pipeline as Code( Jenkinsfile 存储在项目的源代码库)的目的。

Pipeline中的基础概念

阶段,一个 Pipeline 可以划分成若干个 Stage,每个 Stage 代表一组操作,例如:"Build","Test","Deploy"。Stage 是一个逻辑分组的概念,可以跨多个 Node

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

步骤,Steps 是最基本的操作单元,小到创建一个目录,大到构建一个 Docker 镜像。

Pipeline创建与配置

新建一个 Jenkins 任务,在任务类型中选择 Pipeline。将 Pipleline 的任务代码填入 Pipeline Script 对话框。

运行 Pipeline 任务。

通过代码库运行Pipeline任务

除了可以直接在 Jenkins UI 中添加 Pipeline 代码运行任务,也可以将代码保存到代码库中,然后通过指定代码位置的方式来运行 Pipeline 任务。操作步骤如下:
1.新建一个 Jenkins 任务,在任务类型中选择 Pipeline。
2.在 Jenkins Pipeline 任务中选择 Pipeline script from SCM,然后添加 git 源码地址, 在 Script Path 中填写需要运行的 Jenkinsfile 文件所在的地址。
3.通过代码库运行 Pipeline 任务。
4.

保存对Pipeline所做配置,然后运行任务。

Pipeline,简而言之,就是一套运行于 Jenkins 上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化。

内容全面升级,4 个月 20+ 项目实战强化训练,资深测试架构师、开源项目作者亲授 BAT 大厂前沿最佳实践,带你一站式掌握测试开发必备核心技能(对标阿里P6+,年薪50W+)!直推 BAT 名企测试经理,普遍涨薪 50%+!

⬇️ 点击“阅读原文”,提升测试核心竞争力!
原文链接

相关文章
|
机器学习/深度学习 人工智能 算法
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
AI人工智能(ArtificialIntelligence,AI)、 机器学习(MachineLearning,ML)、 深度学习(DeepLearning,DL) 学习路径及推荐书籍
1143 0
|
数据可视化 项目管理 调度
工作效率低下怎么办?这些方法帮你提升!
本文探讨了现代企业中普遍存在的工作效率低下问题,分析了信息不透明、沟通不畅、任务分配混乱等关键原因,并提出通过提升信息透明度、优化沟通方式、科学分配任务、建立实时进度追踪机制及合理分配资源等方法来解决。特别介绍了板栗看板作为高效项目管理工具的应用,强调其在提升团队协作和执行效率方面的作用。
|
开发工具 git Windows
IDEA如何对比不同分支某个文件的差异
【9月更文挑战第28天】该指南介绍了在IDEA中使用Git工具窗口进行分支对比的方法。首先,通过底部工具栏或菜单打开Git窗口;接着,在“Branches”选项卡中查看所有分支;然后选择要对比的分支和文件,并通过右键菜单启动对比;最后,在“Diff”视图中查看详细差异,包括新增和删除内容的颜色标记。此外,还提供了使用内置终端执行`git diff`命令进行对比的可选方法。
2753 4
|
人工智能 自然语言处理
详解:天宫ai官方网站_天宫官网ai入口是什么
天宫AI,正如其名,是昆仑万维精心打造的一款大型语言模型,目标直指 OpenAI 的 ChatGPT,立志成为中文 AI 领域的佼佼者! 其官网 tiangong.cn 已经敞开大门,迎接探索者们。
|
Cloud Native 关系型数据库 分布式数据库
阿里云牵手海亮科技,共建“教育科技数据库创新应用中心”
近日,阿里云与世界500强旗下、国内领先的教育服务提供商海亮科技集团(以下简称“海亮科技”)达成合作,联合成立“教育科技数据库创新应用中心”。双方将充分整合优势资源,共同推进教育科技领域的数据库技术研究和国产数据库的应用与发展。
296 8
|
人工智能 监控 Cloud Native
【涂鸦即艺术】基于云应用开发平台 CAP 部署 AI 实时生图绘板
本实验介绍如何使用阿里云的云原生应用开发平台CAP、函数计算FC和日志服务SLS,三步创建AI实时绘画平台。
【涂鸦即艺术】基于云应用开发平台 CAP 部署 AI 实时生图绘板
|
运维 持续交付 开发工具
基础设施即代码(IaC):自动化基础设施管理的未来
基础设施即代码(IaC):自动化基础设施管理的未来
512 0
|
机器学习/深度学习 人工智能 自然语言处理
|
边缘计算 自动驾驶 物联网
5G 如何实现大规模天线阵列:赋予无线通信全新力量
5G 如何实现大规模天线阵列:赋予无线通信全新力量
884 0
|
Java 数据库连接 mybatis
【已解决】nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘qcBizname‘ not found
【已解决】nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘qcBizname‘ not found
1109 0