Docker|持续集成

2019-07-03 18:06:03 浏览数 (1)

基本概念
敏捷开发

什么是敏捷开发?

敏捷开发(Agile)是一种以人为核心、迭代、循序渐进的开发方法。

在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。

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

参考文章:http://blog.jobbole.com/110231/

持续集成

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

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

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其他的都没有影响。

最后

如果对 Java、大数据感兴趣请长按二维码关注一波,我会努力带给你们价值。觉得对你哪怕有一丁点帮助的请帮忙点个赞或者转发哦。

0 人点赞