- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 16
Jenkins与Docker的持续集成方案
持续集成(CI/CD)是一种软件开发实践。用于帮助团队成员频繁、快速的集成,测试他们的工作成果,以尽快发现集成错误。 更频繁、更早的集成意味着更早的发现问题。通过持续集成,及时发现和解决代码故障,提高代码质量,减少故障处理成本等等。
常见持续集成工具
目前持续集成的生态越来越完善,工具也有很多,开源的或商业的。如:
最最流行的,也是使用最多的Jenkins
有着持续集成DNA的ThoughtWorks GO。理念:"Deployment as pipeline"?
Atlassian工具链之一的Bamboo
与Gitlab紧密集成的Gitlab CI
专为开源打造的Travis CI,与Github紧密集成
使用Python语言实现的Buildbot,相信Pythoner看到会喜欢
我们的选型是Jenkins,所以我们来看下Jenkins。
Jenkins
Jenkins特点
Jenkins是开源的应用最广泛的持续集成工具,支持CI, CD;
Jenkins有很多插件,而且用户也可以自定义插件,可扩展性非常强;
Jenkins对Docker支持非常好,有一套完善的Docker插件;
Jenkins 2.0开始支持Pipeline,一个非常强大的插件,使用基于Groovy的DSL,支持CI/CD流水线;
Jenkins基于Java语言开发;
Jenkins几个概念
Master是Jenkins安装和运行的地方,它负责解析job脚本,处理任务,调度计算资源;
Agent 负责处理从Master分发的任务;
Executor就是执行任务的计算资源,它可以在Master或者Agent上运行。多个Executor也可以合作执行一些任务;
job 任务,用来定义具体的构建过程;
Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy代码能够与Java代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy可以使用其他Java语言编写的库。Jenkins用Groovy作为DSL;
Pipeline 流水线即代码(Pipeline as Code),通过编码而非配置持续集成/持续交付(CI/CD)运行工具的方式定义部署。流水线使得部署是可重现、可重复的;
流水线包括节点(Node)、阶段(Stage)和步骤(Step)。
流水线执行在节点上。节点是Jenkins安装的一部分。流水线通常包含多个阶段。一个阶段包含多个步骤。流水线上手指南可以查看到更多的内容。
node在Pipeline中的context中,node是job运行的地方。 node会给job创建一个工作空间。工作空间就是一个文件目录,这是为了避免跟资源相关的处理互相产生影响。工作空间是node创建的,在node里的所有step都执行完毕后会自动删除。
stage阶段,stage是一个任务执行过程的独立的并且唯一的逻辑块,Pipeline定义在语法上就是由一系列的stage组成的。 每一个stage逻辑都包含一个或多个step。
step步骤,一个step是整个流程中的一系列事情中的一个独立的任务,step是用来告诉Jenkins如何做。
Jenkinfile Jenkins支持创建流水线。它使用一种基于Groovy的流水线领域特定语言(Pipeline DSL)的简单脚。而这些脚本,通常名字叫Jenkinsfile。它定义了一些根据指定参数执行简单或复杂的任务的步骤。流水线创建好后,可以用来构建代码,或者编排从代码提交到交付过程中所需的工作。Jenkins中的Jenkinsfile有点类似Docker中的Dockfile的感觉。
Jenkins部署
Jenkins组件其实非常少,安装部署也非常简单。 Jenkins按角色就两类: master节点和slave节点。master安装完成后,在控制台中添加节点即可。
下面以Dcoker的部署方式为例说一下Jenkins的部署:
Master节点
查看 docker hub 中 jenkins 的 image
[root@k3128v?/home/huomingming]#?docker?search?jenkinsNAME???????????????????????????????DESCRIPTION?????????????????????????????????????STARS?????OFFICIAL???AUTOMATEDjenkins?Official?Jenkins?Docker?image???????????????????260
您可能关注的文档
- IT数字化对于证券行业的价值.docx
- Kubernetes平台性能优化方案.docx
- 广东省农村信用社招聘职业能力测验(判断推理)模拟试卷5.docx
- 广东省农村信用社招聘职业能力测验(判断推理)模拟试卷7.docx
- 广东省农村信用社招聘职业能力测验(判断推理)模拟试卷8.docx
- 广东省农村信用社招聘职业能力测验(判断推理)模拟试卷11.docx
- 广东省农村信用社招聘职业能力测验(判断推理)模拟试卷12.docx
- 广东省农村信用社招聘职业能力测验(判断推理)模拟试卷14.docx
- 广东省农村信用社招聘职业能力测验(数量关系)模拟试卷2.docx
- 广东省农村信用社招聘职业能力测验(数量关系)模拟试卷3.docx
1亿VIP精品文档
相关文档
最近下载
- 试论判例作为民法第1 条之习惯法 【台】吴从周教授 《台大法学论丛》第39卷第2期.pdf
- 民用建筑通用规范GB55031-2022(完整清晰版).pdf
- 【申报表】基于语言建构与运用的“读思达“ 教学法实践研究.doc
- 校园安全稳定工作“日报告、零报告”.docx
- 2024年深圳市高三年级第二次调研考试(二模)数学试卷(含官方答案).pdf
- 甲亢健康教育课件.pptx VIP
- 九下《出师表》文言文对比阅读35篇(含答案).pdf
- 小区智能化弱电系统维护工程报价清单.xls VIP
- 《中国行政制度史》.ppt
- 中国行业标准 NB/T 11118.5-2023煤矿综采工作面机电设备EtherNet/IP通信接口和协议 第5部分:供液系统设备数据表.pdf
文档评论(0)