资讯专栏INFORMATION COLUMN

Docker|持续集成

wwq0327 / 1051人阅读

摘要:参考文章持续集成持续集成指的是,频繁地一天多次将代码集成到主干。说过,持续集成并不能消除,而是让它们非常容易发现和改正。持续交付可以看作持续集成的下一步。持续部署的前提是能自动化完成测试构建部署等步骤。

基本概念
敏捷开发

什么是敏捷开发?

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

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

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

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

持续集成

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

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

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

持续交付

持续交付(Continuous delivery)指的是,频繁地将软件的新版本,交付给质量团队或者用户,以供评审。如果评审通过,代码就进入生产阶段。

持续交付可以看作持续集成的下一步。它强调的是,不管怎么更新,软件是随时随地可以交付的。

持续部署

持续部署(continuous deployment)是持续交付的下一步,指的是代码通过评审以后,自动部署到生产环境。

持续部署的目标是,代码在任何时刻都是可部署的,可以进入生产阶段。

持续部署的前提是能自动化完成测试、构建、部署等步骤。

基本操作流程

总体流程:
1.配置好GitRunner脚本和docker相关文件提交到 GitLab
2.提交就会触发GitRunner程序,自动下载代码,然后根据脚本进行编译构建,运行。
总的目标:
实现提交代码就可以集成到测试环境中,无需我们再像以前那样,需要自己安装什么环境,下载代码,编译构建等操作,完全自动处理

大概就是流程如下图:

实战操作

此类实战文字无法描述,推荐以下教程视频或者你可以找一下相关资源:
https://www.bilibili.com/vide...

或者文末公众号有相关docker视频教程。

总结

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

最后

如果对 Java、大数据感兴趣请长按二维码关注一波,我会努力带给你们价值。觉得对你哪怕有一丁点帮助的请帮忙点个赞或者转发哦。
关注公众号【n平方】,回复2019有相关视频教程哦。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27799.html

相关文章

  • 基于 jenkins 和 docker 的个推持续集成平台

    摘要:基于的特性,以及持续集成的需求,个推采用为持续集成搭建了一整套测试系统。个推持续集成流程以一个假设名为模块为例,以开发人员的视角阐述了持续集成的逻辑。 软件开发过程中,开发成员经常需要把自己工作集成到项目中,通常每个成员每天至少集成一次。如果项目较小,对外部的依赖较小,那么软件集成可能不会是什么问题。但是目前很多软件项目特别是互联网项目面临着需求不明确,系统架构复杂,任务分配混乱等一系...

    binaryTree 评论0 收藏0
  • Docker在开发、测试中的应用

    摘要:对测试的影响让单元测试运行的更顺畅单元测试驱动开发是一个很好的应用程序开发方式,单元测试往往也是和代码一起被提交到代码仓库中。但是很多单元测试通常依赖于很多其他服务,而这些服务的标准化配置往往是一个难点,如数据库的搭建防火墙的配置等。 传统的软件开发、测试、运维需要三个团队在三个不同的环境中进行,而三个环境的不同引发了很多的问题。如:工作内容的重复;开发环境中可运行的程序在测试和运维环...

    mating 评论0 收藏0
  • Spring Cloud【使用jenkins持续部署】Gogs+jenkins+Docker Swa

    摘要:而所谓的持续,就是说每完成一个完整的部分,就向下个环节交付,发现问题可以马上调整。那么每完成一部分就测试,这是持续部署。这是一个免费的源代码,可以处理任何类型的构建或持续集成。容器是完全使用沙箱机制,相互之间不会有任何接口。 导读: 很久没有更新文章了 最近公司在使用Spring Cloud构建的项目中经常会持续发布变更频繁,一天中会出现发布多次的情况 在这种情况下对测试环境做了改造 ...

    王笑朝 评论0 收藏0
  • 智能运维 | 如何做好持续集成——Jenkins on Mesos 实践

    摘要:而持续集成的意义就在于减少风险,和重复的过程,最终提高工作效率。第二级调度由被称作的组件组成。能和不同类型的通信,每种由相应的应用集群管理。这是的任务启动过程。数人云运维平台持续集成实践这是数人云运维平台的持续集成实践。 今天小数给大家带来的又是十足的干货:当运维遇到云计算,当Docker遇到Mesos和Jenkins,会擦出怎样的火花呢?且看来自数人云运维工程师金烨的演讲实录分享——...

    lsxiao 评论0 收藏0
  • Docker 入门(三):持续集成持续部署

    摘要:为了看起来清晰,我写了一个文件,将这个文件和之前的放在同一个目录中,可以用以下命令快速启动,启动之后新构建的镜像和容器都名为。 showImg(https://segmentfault.com/img/remote/1460000014924499?w=883&h=515); 在软件开发过程中,如果我们每一次提交的代码都能够进行一次完整的编译、测试、打包、发布,就能及早发现问题、及早修...

    newtrek 评论0 收藏0

发表评论

0条评论

wwq0327

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<