Jenkins实践指南--pipeline概述
创始人
2024-03-19 16:44:20
0

1.pipeline概述

1.1 什么是pipeline

从某种抽象层次上讲,部署流水线(Deployment pipeline)是指从软件版本控制库到用户手中这一过程的自动化表现形式。——《持续交付-发布可靠软件的系统方法》

pipeline 英语愿意为管道,在Jenkins里面可以理解为,是一套工作流框架,它将原本各个彼此独立的任务连接起来,实现一些比较复杂的工作流程,整个运行流程看起来就像是一个管道一样。

Jenkins 2.x可以支持pipeline as code,即通过代码来描述部署流水线。使用代码而不是UI的意义在于:

更好地版本化:将pipeline提交到版本管理库中,可以更好的进行版本管理

更好地协作:pipeline的每次修改对所有人均是可见的,也可对pipeline进行代码审查

更好的复用性:手动操作配置没有办法比较难直接复用,而代码则可以

更直观的工作流程:通过pipeline可以更加直观看到当前整个工作流所涉及到的各个环节等信息

1.2 pipeline 语法选择

Jenkins 团队在一开始实现Jenkins pipeline时,Groovy被选为基础来实现,因此在写pipeline时,很像是在写Groovy代码,从而有很大的灵活性和可扩展性。因此pipeline也被分成两种格式的语法:脚本式语法(Scripted)和声明式语法(Declarative)

脚本式语法

node {stage("Build") {println "构建应用"}stage("Test") {println "测试应用"}stage("Deploy"){try{println "部署应用"}catch(err){// 捕获异常throw err}}
}

声明式语法

pipeline{agent anystages{stage("Build"){steps{echo "构建应用"}}stage("Test"){steps{echo "测试应用"}}stage("Deploy"){steps{echo "部署应用"}}}post {failure{echo "运行失败"}}
}

以下两种语法格式差异如下所示:

脚本式语法灵活、可扩展,也意味着更复杂。适合于对于Groovy非常熟悉的团队或个人

声明式语法简单、更结构化

pipeline插件从2.5版本开始,同时支持两种格式的语法。后续示例均采用声明式语法

1.3 Jenkinsfile

Jenkinsfile是一个文本文件,是pipeline概念在Jenkins中的具体体现形式。类似于Dockerfile与Docker的关系。

如果在Jenkins使用pipeline,需要确认是否安装pipeline插件。

pipeline 的代码可以直接写到Jenkins里面也可以通过版本管理工具来拉取。gitlab拉取示例如下所示:

图片

01pipelineFromGit.png

脚本路径:就是pipeline的文件名,默认为Jenkinsfile


资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

在这里插入图片描述

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...