- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Jenkins2.x实践指南》读书笔记-Jenkins2.x简介和pipeline⽰例
⽂章⽬录
1. Jenkins 2.x简介
1.1 pipeline是什么
从某种抽象层次上讲,部署流⽔线(Deployment pipeline)是指从软件版本控制库到⽤户⼿中这⼀过程的⾃动化表现形式。——《持续交
付——发布可靠软件的系统⽅法》(下称《持续交付》)
按《持续交付》中的定义,Jenkins本来就⽀持pipeline(通常会把部署流⽔线简称为pipeline,本书会交替使⽤这两个术语),只是⼀开始
不叫pipeline,⽽叫任务。
Jenkins 1.x只能通过界⾯⼿动操作来“描述”部署流⽔线。Jenkins 2.x终于⽀持pipeline as code了,可以通过“代码”来描述部署流⽔
线。
使⽤“代码”⽽不是UI的意义在于:
更好地版本化:将pipeline提交到软件版本库中进⾏版本控制。
更好地协作:pipeline的每次修改对所有⼈都是可见的。除此之外,还可以对pipeline进⾏代码审查。
更好的重⽤性:⼿动操作没法重⽤,但是代码可以重⽤。
本书全⾯拥抱pipeline as code,放弃依赖⼿动操作的⾃由风格的项⽬(FreeStyle project)。
1.2 Jenkinsfile⼜是什么
Jenkinsfile就是⼀个⽂本⽂件,也就是部署流⽔线概念在Jenkins中的表现形式。像Dockerfile之于Docker。所有部署流⽔线的逻辑都写
在Jenkinsfile中。
1.3 pipeline语法的选择
Jenkins pipeline有2种语法:脚本式(Scripted)语法和声明式(Declar-ative)语法。
脚本式语法使⽤Groovy语⾔,其语法灵活、可扩展,但是也意味着更复杂。再者,Groovy语⾔的学习成本对于(不使⽤Groovy的)开发
团队来说通常是不必要的。所以才有了声明式语法,⼀种提供更简单、更结构化(more opinionated)的语法。
1. pipeline插件从2.5版本开始,才同时⽀持两种格式的语法;
2. 推荐主要使⽤声明式语法,脚本式语法作为辅助;
1.4 pipeline版本控制化
为了便于维护和协作,使⽤版本仓库对pipeline进⾏版本控制是⽣产使⽤过程中的最优选择。
本⼈实践过程中也是推荐书中提到的使⽤Git作为版本控制仓库,使⽤Jenkins ssh私钥作为凭证。
2. 利⽤github仓库pipeline进⾏构建
⽬的
使⽤jenkins拉取git仓库内pipeline构建maven项⽬,达到了解pipeline基本⽤法。
环境
github仓库
jenkins(已整合kubernetes)
实践
1. 进⼊Manage Jenkins→Global Tool Configuration-Maven页添加mvn-3.5.4
2. 进⼊Manage Jenkins→Global Tool Configuration→JDK页添加jdk-8u172
注意这⾥需要oracle帐户验证。
3. 添加pipeline项⽬
4. 构建
[外链图⽚转存失败,源站可能有防盗链机制,建议将图⽚保存下来直接上传(img-j9kDMApF-1571912834590)
因为jenkins-slave是整合kubernetes的,因此每次构建都会安装tools,如上图可以看出,maven安装包需要从官⽅下载,这对效率影响
⾮常⼤。
若想优化可以考虑jenkins-slave镜像中直接整合maven,⽽不是使⽤jenkins tools;还可以使⽤docker-in-docker配合maven镜像。
您可能关注的文档
- xx山东临沭县直学校及临沭街道小学遴选教师公告.pdf
- xx山西交城县幼儿教师招聘简章.pdf
- [2022国庆放假通知范文]2022国庆放假时间安排.pdf
- [幼儿园中秋节放假通知范文]2022年元宵节放假通知范文.pdf
- [强制性认证管理规定]强制性认证产品目录.pdf
- [策划书]开设私人口腔诊所必备的十个必备条件!.pdf
- 《农产品经纪人》试题及答案[2].pdf
- 《员工手册》(新版).pdf
- 《学前儿童体育教育》自考试题及答案(一).pdf
- 《旅游概论科目》(A).pdf
- 患者转科交接班制度.docx
- 患者突发呼吸心搏骤停的应急演练演练脚本(2篇).docx
- 合伙企业规章制度.docx
- 电力市场回顾和展望2025+lectricity2025.pdf
- 近零碳示范区政策与方案汇编(2025年).pdf
- 惠誉博华银行间市场NPAS指数报告2025Q1.pdf
- 备战2025年中考物理真题分类汇编(全国通用)专题18家庭电路和用电安全(原卷版+解析).docx
- 期中模拟测试卷一(北师大版)考试版.docx
- 期中复习专题一:数与实际应用—负数和百分数篇【四大篇目】-2023-2024学年六年级数学下册典型例题系列(原卷版)人教版.docx
- 期中复习专题一:数与实际应用—负数和百分数篇【四大篇目】-2023-2024学年六年级数学下册典型例题系列(解析版)人教版.docx
文档评论(0)