Jenkins 学习笔记一

1.对Jenkins的理解

它是一款使用JAVA 语言开发的开源的自动化服务器。可以通过界面或者Jenkinsfile 告诉它什么时候执行什么任务。通常用于持续集成和持续交付。

2.Jenkins 与 DevOps

DevOps 集文化理念,实践和工具于一身。但是很多书籍并没有什么操作性。但是DevOps 承诺能更快,更好的交付软件,其落地的过程,基本上都会谈到Jenkins。devops 理念里面的工具链,就是通过jenkins 集成到一起的。

3.持续集成-Continuous integration,CI

概念:频繁地将代码集成到株高
目的:让产品快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。
优点
(1)快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。

(2)防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

4.持续交付-Continuous delivery,CD

概念:频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。
可以看做是CI 的下一步。

5.持续部署 - continuous deployment,CD

概念:是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。
目的:持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。

6.持续交付与持续部署的区别

在这里插入图片描述

7.流水线流程

7.1代码提交

开发者向仓库提交代码

7.2 测试

代码仓库对commit 操作配置了hook, 只要提交代码,就会自动触发自动化测试,分支测试第一轮。–持续集成的概念

7.3 构建

经过持续集成,代码就可以合入主干,就算可以交付了。此时就可以构建主干的包,主线测试,第二轮测试。

7.4 主线测试

相比第一轮测试,此处的测试,必须包含新需求的测试以及老功能的测试,以覆盖率高为主要目标。

7.5 部署

通过上述测试后,当前代码就是一个可以直接部署的版本(aircraft)。将制品文件打包存档,发到生产服务器。

8.参考资料

1.阮一峰老师的讲解:
http://www.ruanyifeng.com/blog/2015/09/continuous-integration.html
2.翟志军老师的书本:
Jenkins 2.x 实践指南

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章