开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:阿里云云原生DevOps-开启企业级DevOps方案】
课程地址:https://edu.aliyun.com/course/3112075/lesson/19065
阿里云云原生DevOps-开启企业级DevOps方案
内容介绍
一、企业面临的现实问题
二、开启云效DevOps之旅
三、云效DevOps之旅-创建需求四、课程回顾
一、企业面临的现实问题
如何通过营销平台快速的构建企业级的DevOps整体解决方案,企业在DevOps过程中会面临很多的困境,特别是针对处于快速发展中的体验,随着人员的不断的扩大,与流程的规模和工具的发展是不相匹配的。
在跨越到精英团队的路上,总是会面临着诸多的问题,大概有以下几点,第一跨智能的协同,角色多,人员多,难以协同,每个人都会感觉碰见一件事情很难,发布流程不规范,好的时间又难以推广,大家都知道有问题,可是一旦要改进,却总是有难的原因。
第三,发布的时间长,需要人工介入,即使投入大量的人力和时间成本,也很难降低错误率。
第四,缺少建设工程相等的有效抓手。想要建设提升,但缺少方法和抓手,更加缺少好用的工具,这些都是企业在在外实践中经常遇到的问题。
如何通过云效平台来解决这些问题?
通过前面的介绍,知道云效是企业一站式的develop解决方案,提供了从需求到开发,到测试,到发布到运维的端到端的协同服务和研发工具,支持多种的部署形态。
通过下面这六个步骤就能够完成一个企业级的的能力的构建,第一步是需求看板,晨会上团队基于经济看板进行需求的讨论及对接,来实现任务对齐,并且指派任务的责任人。
第二步是代码的管理,研发人员接到任务后,可以进行特定的开发,创建一个变动的分支进行迭代或者更新代码开发。
第三步是代码开发研发人员通过线下或者云端的开发环境进行相应的代码编译工作以及代码提交工作。
第四步是代码的协同,代码提交之后就会触发代码的扫描给且发送为指定的人员进行代码评审。
第五步,发布流水线,评审通过之后就会触发自动发布的流水线,通过云效流水线可以实现自动化的软件构建,也生成到了镜像,分别在开发环境和预生产环境进行部署,等到验证工作结束之后,能够进入待发布的状态,这时再触发上线审核的流程,运维完成审核之后就可以进行发布上线。
最后一步,是反馈和统计,上线之后对整个迭代的东西进行统计和分析,包括在每个节点都会做相应的消息的通知。完成以上六步操作,能够通过营销产品完成整个解决方案的构建。
二、开启云效 DevOps 之旅
需要初始化一个项目空间,团队的协作开发活动就可以在这里面来进行展开,大致有三步操作,第一步创建一个DevOps项目,点击创建新项目的按钮,在全部模板中选择产品研发,然后就能看到项目模板,选中模板后进到一个项目信息界面,在里面填充相应的信息,主要有项目的名称,项目的分组,以项目的编号填写完毕后完成了一个DevOps项目的创建。
第二是创建一个代码库,我们这里有两种方式,可以是从已有的代码库进行选择或者迁移,也可以新建一个项目库,按照界面的要求填入相关的信息后完成了代码库的创建。
第三是创建流水线,完成代码库创建后可以创建流水线,根据项目面板导航去选择一条流水线,点击流水线后有很多的模板,选择一个已经配好的些符合我们直接开发流程的流水线后就完成了一个流水线与项目之间的关联,通过以上三个步骤,构建了一套的开发环境。
三、云效 DevOps 之旅-创建需求
通常从添加一个需求开始,首先创建一个新的需求,在去页面点击蓝色的加号进行快速创建需求,根据实际的情况填写需求相关的信息,第二,基于看法来进行组织需求的协作,整个项目协作的过程是以需求的价值流来进行驱动,完整的将需求写作的过程经可视化展示出来。
具术定义完成后可以打开需求的详情,把这个需求详情分配给开发人员,通过设置需求中的执行者,将需求安排给具体的开发者,这样开发人员会收到一个消息,同时如果要关联到钉钉的话也会收到一个钉钉的通知,这样开发者就可以开始开发工作。开发人员打开需求的时,可以在上面选择新建分支来为该需求创建一个与之对应的特性的分子,以方便他和其他的研发人员来进行协作开发,在完成了特定分支创建后能看到,库里多了一个分支,这个分支是刚刚建立起来,同时可以在需求找到刚刚创建的分支的需求,然后在下面一个分支的名称及该分支的执行情况和状态,同时在需求开展的界面上,也能够看到该需求和与之对应的特性的分支的名称,这样就完成了我们从需求到分支的管理,完成了分支的代码管理后可以进入第三步,也就是代码开发。
在代码开发阶段,如果开发人员是本地进行开发工作,可以把创建的特性分支中的代码克隆到本地,然后执行来取得指定的分支的代码来进行工作,完成代码的编写工作可以执行get commit操作来进行检入。如果该这件分子没有创建,可以通过在commit message里带上需求ID的方式将该分子与需求卡片建立关联。
由于创建了特定的分支,该需求会自动的从待处理进入到开发中的状态,进入了代码协同的流程。
完成代码开发后代码的提交就会触发自动化的代码审核流程,代码会首先进行自动化的扫描,扫描完成之后系统会通过点零后站在信的方式来通知到指定的代码评审员,评审员会根据链接打开提交变更的代码,进入代码的评审过程。我们提供了一个代码平台,评审员可以在外部代码编辑器上对代码进行评审,通过之后可以提交评审的反馈,如果评审通过就会触发自动化的流水线,已经配置好从构建到测试到部署,再到发布审核这样的一个流水线,这整个的流水线是自动触发和执行的。
当特定的分支的这种代码检查是这里包括自动化的代码扫描和人工的代码。代码的变更会触发发布的流水线,所有的变更都通过该流水线进行发布,为了确保版面的一致性及质量的一致性,云效提供了可视化的流水线,将发布的整个流程进行流通,并行任务展现在同一个阶段上,纵向上各编程任务同时展示出来,整个运行的过程状态一目了然。发布分支构建部署到测试环境后,测试人员开始进行测试验证,根据测试的结果来反馈信息。
如果某个特性分支在此时处于设置阶段,与之对应的需求看板将会自动设置为测试中,这种需求的状态设置不再由开发者手工设置,而研发团队的各职能人员能够基于需求看板精准的知道这个需求走到了什么阶段及对应的代码变更是由什么分支,在什么时候来进行发布,是否发布成功,这些零散的信息将系统的展现在需求协作看板上,做了真正的全职能的协助。
当流水线通过测试阶段,此时软件处于可发布的状态,软件遵循按需发布的原则,其发布上线需要进行人工的干预。通过打通流水线与反馈流程,流水线可以自动将审核信息通过钉钉消息发送给审核者,内容包含具体的变更信息及其状态。审核者在任何时间、任何地点都可以通过手机快速的工作。
我们还提供了无人值守的生态环境部署,只要审核一旦通过,系统可以自动发起部署到生产环境,并且触发这样的流程,整个部署不需要人工参与,生态环境验收通过后,需求的状态就变为已完成,完成了需求到代码管理,到创建分支,到代码开发、代码协同以及策化部署的全过程。
这就是整个完整的代包流水线的流程,在项目进行的过程中,提供了类似钉钉消息的通知机制,可以自动化并且及时的反馈到指定的负责人,在一个周期之后,可以提供敏捷研发相关的统计报表,会有多个维度及相应的统计报表来帮助团队更加直观的去了解团队在整个代购过程中的表现,并且可以通过这些数据来不断的提升企业的开发交付效率以及研发效率等等相关的能力。通过以上六步的操作就构建了企业自己的解决方案,整个过程十分便捷。
四、课程回顾
最后对本章的内容做一个回顾学习了develop基础概念,Develops是一套集组织文化、团队协作、工作实践和工具为一体的工作方式。并不是一个公益基金,也不是一个开发流程,它是一种工作方式,以帮助企业高效、快速、高质量交付应用和程序为目的,从而更好的实现客户价值为目标。它的出现正是希望帮助企业能够跨越高速发展和研发低效交付之间的鸿沟。
第二个重点是核心组成,认为由三个部分组成,分别是组织、文化、策化、流水线以及公具级。
第三,介绍了阿里云营销平台的六大核心产品,分别是项目协作、知识库、代码管理、测试管理,还有自动化的流水线以及制品仓库。
第四,构建了企业包解决方案,以营销产品用户的身份,真实的体验了从零开始快速的构建企业级的代包是解决方案的流程,大致可以分为六步,分别是需求看板、代码管理、代码开发、代码协同以及反馈和统计。以上就是本章课程的全部内容。