《阿里云产品四月刊》—提升团队工程交付能力,从“看见”工程活动和研发模式开始(2)

简介: 阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代

本文来源于阿里云社区电子书《阿里云产品四月刊》


《阿里云产品四月刊》—提升团队工程交付能力,从“看见”工程活动和研发模式开始(1)https://developer.aliyun.com/article/1554172


基于云效平台的落地方法

 

我们强烈建议在落地工程交付实践之前,先把需求协作实践梳理清楚,关于这一块内容,  推荐参考:如何制定科学有效的需求流程规范。

 

接下来,我们会借助云效平台,按照前面章节的示例,定义应用的交付模式,并按照该  交付模式完成一个产品需求交付的完整流程。

 

通过应用模板定义应用交付模式

 

我们通过应用模板来承载团队的工程交付模式,这里我们以前面提到过的基于 feature 的持续交付模式为例。

 

该交付模式的特点是开发、测试均基于特性分支,集成发布均基于主干分支,属于快速    开始,快速集成,快速交付,推崇单个特性的独立开发、独立测试、独立集成于独立交    付。首先,在云效 appstack 上创建一个名为特性驱动的持续交付模板的应用模板。

 

 

image.png

 

在该模板上开启变更 + 研发流程服务。

image.png

 

按照 feature/master 两阶段的研发流程,为这两个阶段分别定义变量组,在变量组中使用不同的 k8s namespace,以及指定不同的副本数。

 

 

image.png

 

接下来通过模板来规范应用的部署方式,云效推崇多套环境一套编排模板的实践,差异  性的部分通过变量组来定义。

image.png

 

然后,我们规定每个应用都有两套环境,分别为用于 feature  开发验证的“特性验证环,和用于集成发布的生产部署环境。这两套环境与对应的变量组、部署编排和集群资源(可选)关联。

 

 

image.png

 

我们已经确定了应用的环境和部署策略,接下来我们规范应用的研发交付流程。

 

我们要求应用从开始开发到完成交付,需要经过特性验证和生产部署两个阶段的验证,  且只有经过特性验证阶段的 feature,才能进行生产部署。为了做到这一点,我们创建了一个两阶段的研发流程,分别为特性验证阶段和生产部署阶段。

 

在特性验证阶段,我们定义了一条包含 4 个步骤的流水线,分别为代码检视、构建、部署和测试,且规定分支为自由选择方式(可在流水线配置名称前缀为 feature- 的分支有新的代码提交自动触发)。

image.png

 

 

 

在生产部署阶段,我们配置了一条有 5 个步骤的流水线,分别为代码检视、构建、审核、部署和完成变更。同时限制流水线运行分支为 master,且执行时相关 feature 在特性验证阶段的执行结果为成功(云效会自动计算流水线执行时所涉及到的 feature 分支,并判断其前序阶段的执行成功与否)。

image.png

 

至此,我们完成了应用模板的定义,现在,让我们基于该模板来创建一个应用,并完成  一个特性的交付。

image.png

 

通过应用模板创建好应用后,还需要设置好应用所关联的代码仓库和相关成员。

image.png image.png

 


《阿里云产品四月刊》—提升团队工程交付能力,从“看见”工程活动和研发模式开始(3)https://developer.aliyun.com/article/1554170


相关实践学习
流水线运行出错排查难?AI帮您智能排查
本实验将带您体验云效流水线Flow的智能排查能力,只需短短1-2分钟,即可体验AI智能排查建议。
ALPD云架构师系列 - 云原生DevOps36计
如何把握和运用云原生技术,撬动新技术红利,实现持续、安全、高效和高质量的应用交付,并提升业务的连续性和稳定性,这是云原生时代持续交付共同面对的机会和挑战。本课程由阿里云开发者学堂和阿里云云效共同出品,是ALPD方法学云架构师系列的核心课程之一,适合架构师、企业工程效能负责人、对DevOps感兴趣的研发、测试、运维。 课程目标 前沿技术:了解云原生下DevOps的正确姿势,享受云原生带来的技术红利 系统知识:全局视角看软件研发生命周期,系统学习DevOps实践技能 课程大纲: 云原生开发和交付:云研发时代软件交付的挑战与云原生工程实践 云原生开发、运行基础设施:无差别的开发、运行环境 自动部署:构建可靠高效的应用发布体系 持续交付:建立团队协同交付的流程和流水线 质量守护:构建和维护测试和质量守护体系 安全保障:打造可信交付的安全保障体系 建立持续反馈和持续改进闭环
相关文章
|
XML IDE Java
Android gradle.properties 基础使用和常规配置
Gradle 是一个开源构建自动化工具,其设计足够灵活,可以构建几乎任何类型的软件。
|
机器学习/深度学习 JSON 自然语言处理
小模型,大用途!用于结构化输出的小型语言模型
小型语言模型(SLM)通常被用于端侧推理,搜索推荐query改写这类对于资源要求低,大规模并发时延要求高的场景
477 0
|
存储 弹性计算 运维
阿里云云原生NDR发布:全流量防御能力升级
阿里云发布云原生NDR,提供全流量威胁检测与响应能力。该产品无需部署,支持一键接入、自动留存攻击报文,并具备多引擎关联分析、资产风险管理等功能,有效提升高级威胁应对能力。典型客户案例显示,NDR在重保防护、敏感数据泄露和日志合规等场景中表现出色。总结来看,NDR强调原生化、性价比和强检测,帮助用户简化安全运营并降低成本。
516 11
|
Java 测试技术 开发者
通义灵码助力高效开发——我的实践心得
作为一名Java开发工程师,我一直在寻找提高开发效率的方法。最近,我尝试了通义灵码的个人版新功能,并取得了显著的效果。本文将分享我的实践场景、效果和心得。
601 1
|
缓存 容器 Perl
【Azure Container App】Container Apps 设置延迟删除 (terminationGracePeriodSeconds) 的解释
terminationGracePeriodSeconds : 这个参数的定义是从pod收到terminated signal到最终shutdown的最大时间,这段时间是给pod中的application 缓冲时间用来处理链接关闭,应用清理缓存的;并不是从idel 到 pod被shutdown之间的时间;且是最大时间,意味着如果application 已经gracefully shutdown,POD可能被提前terminated.
487 3
|
存储 Kubernetes 数据安全/隐私保护
影片自由,丝滑流畅,Docker容器基于WebDav协议通过Alist挂载(百度网盘/阿里云盘)Python3.10接入
使用过NAS(Network Attached Storage)的朋友都知道,它可以通过局域网将本地硬盘转换为局域网内的“网盘”,简单理解就是搭建自己的“私有云”,但是硬件和网络成本都太高了,有点可望而不可及的意思。Alist开源库则可以满足我们,它能将公共网盘反过来变成一种联网的本地硬盘,使用Web页面来统一挂载和管理,网盘类型包含但不限于:百度网盘、阿里云盘、迅雷网盘等等。
影片自由,丝滑流畅,Docker容器基于WebDav协议通过Alist挂载(百度网盘/阿里云盘)Python3.10接入
|
自然语言处理 语音技术
语言大模型和文本大模型的区别
【2月更文挑战第16天】语言大模型和文本大模型的区别
1034 2
语言大模型和文本大模型的区别
|
安全 关系型数据库 MySQL
DVWA
【7月更文挑战第11天】
616 0