Docker | 持续集成

2020-10-12 10:44:00
xbmchina
转贴:
掘金
6018
摘要:什么是敏捷开发?敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。

基本概念

敏捷开发

什么是敏捷开发?

敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。


简单地来说,敏捷开发并不追求前期完美的设计、完美编码,而是力求在很短的周期内开发出产品的核心功能,尽早发布出可用的版本。然后在后续的生产周期内,按照新需求不断迭代升级,完善产品。
参考文章: blog.jobbole.com/110231/

持续集成

持续集成指的是,频繁地(一天多次)将代码集成到主干。
它的好处主要有两个:

快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。
防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

Martin Fowler 说过," 持续集成并不能消除 Bug,而是让它们非常容易发现和改正。"

持续交付

持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。
持续交付可以看作持续集成的下一步。它强调的是,不管怎么更新,软件是随时随地可以交付的。

持续部署

持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。
持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。
持续部署的前提是能自动化完成测试、构建、部署等步骤。

基本操作流程

总体流程:

1.配置好GitRunner脚本和docker相关文件提交到 GitLab
2.提交就会触发GitRunner程序,自动下载代码,然后根据脚本进行编译构建,运行。

总的目标:

实现提交代码就可以集成到测试环境中,无需我们再像以前那样,需要自己安装什么环境,下载代码,编译构建等操作,完全自动处理。
大概就是流程如下图:

实战操作

此类实战文字无法描述,推荐以下教程视频或者你可以找一下相关资源:
https://www.bilibili.com/video/av43639811/?p=98
或者文末公众号有相关docker视频教程。

总结

docker 一次构建,到处运行。隔离机制,与运行环境无关。
因为这些特点,就不会出现我们平时说的:“在我的电脑上运行没问题的呀”
由于隔离机制,所以不用担心CPU多少核,系统是Linux或者windows,你只要有docker其他的都没有影响。

评论列表
王京伟 2021-03-24 14:35:17
666
1/1
发表评论
捌 乘 叁 =
评论通过审核后显示。
文章分类
联系方式
联系人: 王春生
Email: chunsheng@cnezsoft.com