阿里云云原生DevOps-开启企业级DevOps方案

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 阿里云云原生DevOps-开启企业级DevOps方案

开发者学习笔记【阿里云云原生助理工程师认证(ACA)课程:阿里云云原生DevOps-开启企业级DevOps方案】

课程地址:https://edu.aliyun.com/course/3112075/lesson/19065


阿里云云原生DevOps-开启企业级DevOps方案


内容介绍

一、企业面临的现实问题

二、开启云效DevOps之旅

三、云效DevOps之旅-创建需求四、课程回顾


一、企业面临的现实问题

如何通过营销平台快速的构建企业级的DevOps整体解决方案,企业在DevOps过程中会面临很多的困境,特别是针对处于快速发展中的体验,随着人员的不断的扩大,与流程的规模和工具的发展是不相匹配的。

image.png

在跨越到精英团队的路上,总是会面临着诸多的问题,大概有以下几点,第一跨智能的协同,角色多,人员多,难以协同,每个人都会感觉碰见一件事情很难,发布流程不规范,好的时间又难以推广,大家都知道有问题,可是一旦要改进,却总是有难的原因。
第三,发布的时间长,需要人工介入,即使投入大量的人力和时间成本,也很难降低错误率。
第四,缺少建设工程相等的有效抓手。想要建设提升,但缺少方法和抓手,更加缺少好用的工具,这些都是企业在在外实践中经常遇到的问题。

如何通过云效平台来解决这些问题?

通过前面的介绍,知道云效是企业一站式的develop解决方案,提供了从需求到开发,到测试,到发布到运维的端到端的协同服务和研发工具,支持多种的部署形态。

image.png

通过下面这六个步骤就能够完成一个企业级的的能力的构建,第一步是需求看板,晨会上团队基于经济看板进行需求的讨论及对接,来实现任务对齐,并且指派任务的责任人。

第二步是代码的管理,研发人员接到任务后,可以进行特定的开发,创建一个变动的分支进行迭代或者更新代码开发。

第三步是代码开发研发人员通过线下或者云端的开发环境进行相应的代码编译工作以及代码提交工作。

第四步是代码的协同,代码提交之后就会触发代码的扫描给且发送为指定的人员进行代码评审。

第五步,发布流水线,评审通过之后就会触发自动发布的流水线,通过云效流水线可以实现自动化的软件构建,也生成到了镜像,分别在开发环境和预生产环境进行部署,等到验证工作结束之后,能够进入待发布的状态,这时再触发上线审核的流程,运维完成审核之后就可以进行发布上线。

最后一步,是反馈和统计,上线之后对整个迭代的东西进行统计和分析,包括在每个节点都会做相应的消息的通知。完成以上六步操作,能够通过营销产品完成整个解决方案的构建。


二、开启云效 DevOps 之旅

image.png


需要初始化一个项目空间,团队的协作开发活动就可以在这里面来进行展开,大致有三步操作,第一步创建一个DevOps项目,点击创建新项目的按钮,在全部模板中选择产品研发,然后就能看到项目模板,选中模板后进到一个项目信息界面,在里面填充相应的信息,主要有项目的名称,项目的分组,以项目的编号填写完毕后完成了一个DevOps项目的创建。

第二是创建一个代码库,我们这里有两种方式,可以是从已有的代码库进行选择或者迁移,也可以新建一个项目库,按照界面的要求填入相关的信息后完成了代码库的创建。

第三是创建流水线,完成代码库创建后可以创建流水线,根据项目面板导航去选择一条流水线,点击流水线后有很多的模板,选择一个已经配好的些符合我们直接开发流程的流水线后就完成了一个流水线与项目之间的关联,通过以上三个步骤,构建了一套的开发环境。


三、云效 DevOps 之旅-创建需求

image.png

通常从添加一个需求开始,首先创建一个新的需求,在去页面点击蓝色的加号进行快速创建需求,根据实际的情况填写需求相关的信息,第二,基于看法来进行组织需求的协作,整个项目协作的过程是以需求的价值流来进行驱动,完整的将需求写作的过程经可视化展示出来。

图片5.png
具术定义完成后可以打开需求的详情,把这个需求详情分配给开发人员,通过设置需求中的执行者,将需求安排给具体的开发者,这样开发人员会收到一个消息,同时如果要关联到钉钉的话也会收到一个钉钉的通知,这样开发者就可以开始开发工作。开发人员打开需求的时,可以在上面选择新建分支来为该需求创建一个与之对应的特性的分子,以方便他和其他的研发人员来进行协作开发,在完成了特定分支创建后能看到,库里多了一个分支,这个分支是刚刚建立起来,同时可以在需求找到刚刚创建的分支的需求,然后在下面一个分支的名称及该分支的执行情况和状态,同时在需求开展的界面上,也能够看到该需求和与之对应的特性的分支的名称,这样就完成了我们从需求到分支的管理,完成了分支的代码管理后可以进入第三步,也就是代码开发。
image.png
在代码开发阶段,如果开发人员是本地进行开发工作,可以把创建的特性分支中的代码克隆到本地,然后执行来取得指定的分支的代码来进行工作,完成代码的编写工作可以执行get commit操作来进行检入。如果该这件分子没有创建,可以通过在commit message里带上需求ID的方式将该分子与需求卡片建立关联。
由于创建了特定的分支,该需求会自动的从待处理进入到开发中的状态,进入了代码协同的流程。
image.png
完成代码开发后代码的提交就会触发自动化的代码审核流程,代码会首先进行自动化的扫描,扫描完成之后系统会通过点零后站在信的方式来通知到指定的代码评审员,评审员会根据链接打开提交变更的代码,进入代码的评审过程。我们提供了一个代码平台,评审员可以在外部代码编辑器上对代码进行评审,通过之后可以提交评审的反馈,如果评审通过就会触发自动化的流水线,已经配置好从构建到测试到部署,再到发布审核这样的一个流水线,这整个的流水线是自动触发和执行的。
image.png
当特定的分支的这种代码检查是这里包括自动化的代码扫描和人工的代码。代码的变更会触发发布的流水线,所有的变更都通过该流水线进行发布,为了确保版面的一致性及质量的一致性,云效提供了可视化的流水线,将发布的整个流程进行流通,并行任务展现在同一个阶段上,纵向上各编程任务同时展示出来,整个运行的过程状态一目了然。发布分支构建部署到测试环境后,测试人员开始进行测试验证,根据测试的结果来反馈信息。
如果某个特性分支在此时处于设置阶段,与之对应的需求看板将会自动设置为测试中,这种需求的状态设置不再由开发者手工设置,而研发团队的各职能人员能够基于需求看板精准的知道这个需求走到了什么阶段及对应的代码变更是由什么分支,在什么时候来进行发布,是否发布成功,这些零散的信息将系统的展现在需求协作看板上,做了真正的全职能的协助。
image.png
当流水线通过测试阶段,此时软件处于可发布的状态,软件遵循按需发布的原则,其发布上线需要进行人工的干预。通过打通流水线与反馈流程,流水线可以自动将审核信息通过钉钉消息发送给审核者,内容包含具体的变更信息及其状态。审核者在任何时间、任何地点都可以通过手机快速的工作。
image.png
我们还提供了无人值守的生态环境部署,只要审核一旦通过,系统可以自动发起部署到生产环境,并且触发这样的流程,整个部署不需要人工参与,生态环境验收通过后,需求的状态就变为已完成,完成了需求到代码管理,到创建分支,到代码开发、代码协同以及策化部署的全过程。
image.png
这就是整个完整的代包流水线的流程,在项目进行的过程中,提供了类似钉钉消息的通知机制,可以自动化并且及时的反馈到指定的负责人,在一个周期之后,可以提供敏捷研发相关的统计报表,会有多个维度及相应的统计报表来帮助团队更加直观的去了解团队在整个代购过程中的表现,并且可以通过这些数据来不断的提升企业的开发交付效率以及研发效率等等相关的能力。通过以上六步的操作就构建了企业自己的解决方案,整个过程十分便捷。


四、课程回顾

最后对本章的内容做一个回顾学习了develop基础概念,Develops是一套集组织文化、团队协作、工作实践和工具为一体的工作方式。并不是一个公益基金,也不是一个开发流程,它是一种工作方式,以帮助企业高效、快速、高质量交付应用和程序为目的,从而更好的实现客户价值为目标。它的出现正是希望帮助企业能够跨越高速发展和研发低效交付之间的鸿沟。

第二个重点是核心组成,认为由三个部分组成,分别是组织、文化、策化、流水线以及公具级。

第三,介绍了阿里云营销平台的六大核心产品,分别是项目协作、知识库、代码管理、测试管理,还有自动化的流水线以及制品仓库。

第四,构建了企业包解决方案,以营销产品用户的身份,真实的体验了从零开始快速的构建企业级的代包是解决方案的流程,大致可以分为六步,分别是需求看板、代码管理、代码开发、代码协同以及反馈和统计。以上就是本章课程的全部内容。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
SVN版本控制系统
SVN是现在软件开发之中的主流软件版本控制工具,在工作之中利用SVN可以有效的解决多人开发的代码管理问题,本课程将为读者讲解SVN服务器的配置以及基于MyEclipse的SVN客户端插件的配置与使用,并且在讲解之中着重讲解了冲突的产生于解决。
相关文章
|
1月前
|
边缘计算 运维 Cloud Native
浙江省科技进步奖一等奖!阿里云云原生技术实现新突破
科技成果鉴定委员会高度评价该技术,“项目研发难度大,成果创新性强,对促进关键技术进步及自主可控具有重大意义,成果在国内外开源社区产生了广泛影响,并成功应用于互联网、交通、金融、物流、医疗等多个行业。”
|
12天前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
本文基于2024云栖大会演讲,探讨了软件供应链攻击的快速增长趋势及对企业安全的挑战。文中介绍了如何利用阿里云容器服务ACK、ACR和ASM构建云原生软件供应链安全,涵盖容器镜像的可信生产、管理和分发,以及服务网格ASM实现应用无感的零信任安全,确保企业在软件开发和部署过程中的安全性。
|
12天前
|
人工智能 Kubernetes Cloud Native
阿里云容器服务,智算时代云原生操作系统
2024云栖大会,阿里巴巴研究员易立分享了阿里云容器服务的最新进展。容器技术已成为云原生操作系统的基石,支持多样化的应用场景,如自动驾驶、AI训练等。阿里云容器服务覆盖公共云、边缘云、IDC,提供统一的基础设施,助力客户实现数字化转型和技术创新。今年,阿里云在弹性计算、网络优化、存储解决方案等方面进行了多项重要升级,进一步提升了性能和可靠性。
|
14天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2024 年 11 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
27天前
|
敏捷开发 Kubernetes Cloud Native
阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理
在多云环境中,阿里云云原生技术为企业提供了一套高效、灵活的解决方案,支持跨云部署与管理。通过容器化、服务网格等技术,实现了应用的一致性与可移植性,简化了多云环境下的资源管理和服务治理,帮助企业应对复杂的云环境挑战,加速数字化转型。
41 5
|
27天前
|
存储 Prometheus 运维
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案。该集成结合了ARMS的基础设施监控能力和Prometheus的灵活配置及社区支持,实现了全面、精准的系统状态、性能和错误监控,提升了应用的稳定性和管理效率。通过统一的数据视图和高级查询功能,帮助企业有效应对云原生挑战,促进业务的持续发展。
34 3
|
1月前
|
边缘计算 运维 Cloud Native
阿里云基于云原生的大规模云边协同关键技术及应用荣获浙江省科学技术进步一等奖
11月22日, 2023年度浙江省科学技术奖获奖成果公布,阿里云与浙江大学、支付宝、谐云科技联合完成的基于云原生的大规模云边协同关键技术及应用获得浙江省科学技术进步一等奖。
|
19天前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
17天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
27天前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
42 3