持续集成(CI)持续交付(CD)到底带来了那些好处?

在最好的时候创建用户喜欢的高质量应用程序并不是件容易的事情。更何况,要怎样做才能更快地创建用户喜欢的高质量应用程序并且能够不断改进它们呢?这就是需要引入持续集成和持续交付(CI / CD)的地方。

持续集成(CI)

什么是持续集成?

那么,持续集成(CI)究竟是什么呢?它是软件工程师每天频繁地将更新代码的副本传递到共享位置的过程。所有的开发工作都在预定的时间或事件中进行集成,然后自动测试和构建工作。通过CI,开发过程中出现的错误能被及时发现,这样不仅加速了整个开发周期,而且使软件工程师的工作效率更高。

持续集成有什么好处?

我们不能低估CI的好处。因为团队里的人都在同一个产品上进行实时工作,所以在软件开发过程中使用CI时,你可以期望实现更快的速度、更好的稳定性和更强的可靠性。并且在开发过程的早期,开发人员能够发现和解决任何编码问题,使它们在成为下游主要问题之前得到纠正。这样可以降低错误代码导致的长期开发(和业务)的成本。

持续集成对于QA测试花费的时间也有很大的影响。通过CI,开发人员不断审查和编辑以前的代码,能够检查到许多小的错误,这些错误在QA里通常发现的晚一些。这使得测试人员不仅可以专注研究代码和关注更加紧迫的问题,而且能够同时测试更多的场景。

对开发团队来说,使用CI的另一个好处是可以提高编码能力。由于持续发展的自然灵活性,这使得开发人员能够快速、轻松地对代码进行更改,却不会产生运行回归风险。

持续交付(CD)

什么是持续交付?

持续交付(CD)是创建高质量应用程序的第二个难题。CD是一门软件开发学科,利用技术和工具快速地交付生产阶段的代码。由于大部分交付周期都是自动化的,所以这些交付能够快速地完成。

持续交付有什么好处?

实施持续交付的主要好处是能够加快应用程序的上市时间。使用CD的公司能大大增加他们的应用程序发行频率。在没有使用CD之前,应用程序发布的频率通常是几个月一次。然而现在使用CD,你可以一个星期发布一次、甚至每天发布多次应用。在竞争激烈的行业中,速度的提高将会使你处于主要优势。

持续不断的软件版本发布也会根据用户对应用程序的反馈,允许开发团队对其进行微调。这个用户反馈为开发人员提供了所需要的洞察力,并且它优先考虑了用户实际需要的功能请求。同样重要的是,对用户实际上没有用到的应用程序功能,它允许开发人员对其进行优先级排序。

CD的另一个好处是它能保证每个发行版本的风险较低。当使用CD方法发布时,开发团队也会更有信心,因为在整个开发生命周期中,所有内容都经过了多次测试。

任何不考虑转向CI / CD的公司都或将被那些使用CI / CD方法的竞争对手远远地甩在后面。那么,如何转向CI / CD?当您准备转向持续集成/持续交付(CI / CD)时,需要考量及决定的相关流程有很多。下文将带您了解这些主要流程。

转向CI/CD的重要流程

1、分支和合并

你需要组织及考虑的一个主要流程就是你的分支和合并。分支就是开发人员可以在代码的平行部分工作的地方——从一个中央代码库分支出来。分支的好处在于,它允许在不破坏中心代码基础的情况下,在软件构建的不同方面同时进行工作。显然,合并即意味着分支合并到核心代码库。

通过各种版本控制系统,许多开发人员对分支和合并已经很熟悉了。然而,根据您的构建的特别要求,您所分支的内容也有很多不同的策略。有些开发人员将通过维护、功能或团队来进行发布的分支。

您可能会对某种策略非常狂热,但“绝对正确”的分支和合并策略是不存在的,只存在“对您的构建而言正确”的方式与策略。这需要检查您当前的分支和合并策略,并根据您的目标和情况决定需要更改哪些内容。

2、构建自动化

构建自动化意味着您可以自动编译软件构建。持续集成服务器的核心是构建自动化服务器,其工作是在触发或定时的基础上编译和链接源代码。您选择的持续集成服务器将成为您的CI/CD环境的支柱。

在查看构建自动化过程时,了解市场上各种可用选项的功能是非常有帮助的。开源公司Jenkins现在在CI/CD部署中占绝对优势,这通常是一个好的开始。或者至少,在比较其他解决方案时把它作为基准。作为一个开源代码系统,您可能仍需构建一些实用程序,以使构建自动化完全适合您的情况。

3、测试自动化

测试自动化对于CI/CD能否按预期工作至关重要。如果没有自动化测试,CI/CD将很快无法实现快速交付的目标。我们的总体建议是尽可能自动化。这意味着您需要检查您需要执行的各种测试,并决定在您的环境中可以安全地自动进行哪些测试。

建立测试自动化环境可能需要新的技能。然而,这是战略需求,将会提高交付速度,减少错误。至少,您应该自动化代码审查、单元测试、集成测试和系统测试。

4、部署自动化

关于持续交付和持续部署之间的区别,仍然存在一些混淆。简而言之,持续交付意味着持续推出发布就绪代码,而持续部署则意味着持续给用户部署该软件。

无论你在看什么“CD”,对那些不习惯的人来说,这似乎是一个巨大的飞跃。为了让您的组织有信心将软件部署到最终用户,需要一个严密的测试自动化基础设施。

我们的建议是,最好进入流程定义,以实现零接触持续部署的总体目标。虽然领先的持续集成系统通常会考虑自己的持续交付系统,但您可以比现成的参数更进一步。真正的敏捷性需要构建一个基础设施、写好代码,吸引用户使用。

选择开源且完整的CI/CD的工具

真正实现CI/CD并非易事,pipeline搭建工作复杂,平滑升级难以保障,服务宕机难以避免……选择一个完整的CI/CD工具,将大大助力于CI/CD在企业里落地并最终带来生产运维效率的提升。Rancher Labs新近发布的CI/CD工具Rancher Pipeline,就拥有极简的操作体验,强大的功能整合,并且完全开源。

同时支持多源码管理:在单一环境中同时拉取、使用和管理托管在GitHub和GitLab的代码;

一键部署,完全可视化的pipeline配置,拖拽方式的pipeline搭建;

阶段式和阶梯式pipeline,可自由扩展的步骤系统;

灵活的流程控制:不同的代码分支可以自动匹配不同的CI流程,从而支持较为复杂的流程控制

支持多种触发方式:计划任务的触发、来自GitHub / GitLab的webhook触发、手动触发,以及通过定制化的开发,实现更多种触发方式的支持

良好集成的审批系统:审批系统已与Rancher用户管理系统集成,且用户可以在任意阶段插入断点,自由地对任意阶段进行审批

灵活的pipeline启停机制:任一环节出错,整个进度可以立即停止,而问题解决之后又可以重新运行

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容