您当前的位置:首页 > 新闻 > 科技

自动化构建部署:Jenkins之流水线介绍(笔记)

时间:2020-03-15 14:46:05  来源:  作者:

 

自动化构建部署:Jenkins之流水线介绍(笔记)

 

什么是流水线

现实中的流水线

流水线比较好理解,类比于现实生活中的生产流水线,每个流程只做一件事,通过传送带把这些流程连接在一起,一个流程完成后的结果交由后续流程继续操作。

Jenkins的流水线简单认知

Jenkins的流水线也是这样工作的,最简单的认知是它可以把若干可通用的Shell脚本像胶水一样连接起来,虽然这个比喻比较形象,但这只是流水线的冰山一角。

Jenkins流水线的两种形式

在Jenkins升级2.x版本之前,流水线只有一种脚本式流水线(Script Pipeline),当升级2.x版本后,新增了声明式流水线(Declarative Pipeline)

 

什么是Jenkinsfile

无论是哪种流水线,都需要为流水线定义流水线脚本,称之为Jenkinsfile ,使用Groovy语法写成

脚本式流水线

在说明声明式流水线前,有必要了解一下脚本式流水线的基本概念,这样有利于我们知道声明式流水线的好处与脚本式流水线的限制

特征

在脚本化流水线语法中, 一个或多个 node 块在整个流水线中执行核心工作。

限制

虽然这不是脚本化流水线语法的强制性要求, 但它限制了你的流水线的在node块内的只能做两件事:

  1. 需要通过在Jenkins队列中添加一个项来调度块中包含的步骤。 节点上的执行器一空闲, 该步骤就会运行。
  2. 创建一个工作区(特定为特定流水间建立的目录),其中工作可以在从源代码控制检出的文件上完成。

基本语法

Jenkinsfile (Scripted Pipeline)

node { //需要有一个或多个node节点表示一系列操作
    stage('Build') { //每个stage表示一个步骤
        // Build步骤内容
    }
    stage('Test') { 
        //  Test步骤内容
    }
    stage('Deploy') { 
        //  Deploy步骤内容
    }
}

声明式流水线的基本语法类似于脚本式流水线,但是其功能更加强大

声明式流水线基础

特征

声明式流水线最外层Jenkinsfile脚本节点是pipeline

与脚本式流水线不同点

声明式和脚本化的流水线从根本上是不同的。 声明式流水线的是 Jenkins 流水线更近的特性:

  • 相比脚本化的流水线语法,它提供更丰富的语法特性,
  • 是为了使编写和读取流水线代码更容易而设计的。

基础语法

Jenkinsfile (Declarative Pipeline)

pipeline { // pipeline是声明式流水线的一种特定语法,在块内定义了整个流水线的所有内容
    agent any //    agent是声明式流水线的一种特定语法,它指示 Jenkins 为整个流水线分配一个执行器 (在节点上)和工作区,等效于脚本式流水线node块
    stages { // 所有流程(状态)的外层块,仅有一个
        stage('Build') { //每个stage为一流程,与脚本式基本一致,每个stage可以定义名称
            steps {  //步骤块,内部包含具体操作
                sh 'make'  // sh操作,其引号间的文字会当成shell直接执行
            }
        }
        stage('Test'){
            steps {
                sh 'make check'
                junit 'reports/**/*.xml'  //junit使用匹配的定义测试xml进行单元测试
            }
        }
        stage('Deploy') {
            steps {
                sh 'make publish'
            }
        }
    }
}

使用jenkins的Blue Ocean插件运行构建:

Jenkinsfiles文件:

自动化构建部署:Jenkins之流水线介绍(笔记)

 


自动化构建部署:Jenkins之流水线介绍(笔记)


Tags:自动化构建部署   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
什么是流水线现实中的流水线流水线比较好理解,类比于现实生活中的生产流水线,每个流程只做一件事,通过传送带把这些流程连接在一起,一个流程完成后的结果交由后续流程继续操作...【详细内容】
2020-03-15  Tags: 自动化构建部署  点击:(107)  评论:(0)  加入收藏
▌简易百科推荐
非法购买公民信息、开发人脸认证规避技术……今年年初,广东省公安厅网安部门侦破全国首例破解“青少年防沉迷系统”的新型网络犯罪案件,抓获犯罪嫌疑人13名,查处非...【详细内容】
2021-12-28    人民日报客户端  Tags:数据安全步   点击:(5)  评论:(0)  加入收藏
就在今天,腾讯方面宣布将在2022年1月31日下架企业QQ和营销QQ,其实这一消息的降临并不让笔者意外,因为早在今年的10月28日20点之后,企业QQ和营销QQ就被停止了续费服务。相信很多...【详细内容】
2021-12-27  科技探险家    Tags:企业QQ   点击:(21)  评论:(0)  加入收藏
日前,上海交通大学发布《全球电竞之都评价报告》,对全球15个致力于发展电竞之都的城市进行评价,上海作为中国城市电竞发展的排头兵,其拥有众多优质电竞企业及完整产业集群,因此排...【详细内容】
2021-12-27  经济日报    Tags:电竞   点击:(3)  评论:(0)  加入收藏
为优化网络氛围环境,微博又开始整顿用户信息了。本月月初,微博官方发布公告,要求昵称中带有如“二货”“SB”“瘪三”“娘炮”等明显低俗或侮辱性词汇的用户尽快修改,否则将面临...【详细内容】
2021-12-24  运了个营    Tags:微博   点击:(10)  评论:(0)  加入收藏
昨日谷歌宣布,自2022年12月19日开始停止对OnHub的软件支持,OnHub路由器仍将提供Wi-Fi信号,但用户无法用谷歌Home应用程序管理它。无法更新Wi-Fi网络设置、添加额外的Wifi设备或...【详细内容】
2021-12-22  雷峰网    Tags:Google OnHub   点击:(5)  评论:(0)  加入收藏
IT之家 12 月 20 日消息,百度网盘青春版 iOS 客户端今日晚间率先开启内测,安卓客户端将在稍后内测。使用苹果 iPhone 的IT之家小伙伴可以点此下载内测版,需要先下载 TestFlight...【详细内容】
2021-12-21  IT之家    Tags:百度网盘   点击:(10)  评论:(0)  加入收藏
对于拼车单,是接还是不接,不少网约车司机表示很矛盾。接吧,钱少事多,常常跑了个寂寞,不接吧,车多客少,挑三拣四没饭吃。 在平台大力推广拼车单之下,不少司机迫于生活压力,最终还是打...【详细内容】
2021-12-17  网约车情报分享    Tags:滴滴   点击:(9)  评论:(0)  加入收藏
蓝鲸TMT频道12月16日讯,据饿了么官方微信公众号,近日,在圆桌会上,蓝骑士与平台交流了配送安全问题。饿了么表示,线上将技术手段融入安全防护;线下将持续进行安全培训,并试点智能头...【详细内容】
2021-12-17    金融界  Tags:饿了么   点击:(24)  评论:(0)  加入收藏
开源最前线(ID:OpenSourceTop) 猿妹编译项目地址: https://github.com/restic/restic全球知名代码托管平台 GitHub 今天就重磅发布了今年的年度报告——《2021 年度 O...【详细内容】
2021-12-17  Python部落    Tags:   点击:(9)  评论:(0)  加入收藏
新京报快讯 据中国网络视听节目服务协会网站消息,12月15日,中国网络视听节目服务协会发布了《网络短视频内容审核标准细则》(2021)。中国网络视听节目服务协会组织有关短视频平...【详细内容】
2021-12-16    新京报  Tags:短视频   点击:(11)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条