阿里云效,一站式企业协同研发云,源于阿里巴巴多年先进的管理理念和工程实践,提供从“需求->开发->测试->发布->运维->运营”端到端的协同服务和研发工具支撑。云效将战略规划、敏捷研发、持续集成、持续交付、DevOps等理念引入银行、保险、民航等大型企业和互联网初创企业,支持公有云、专有云和混合云的协同研发,助力企业产品快速创新迭代和研发效能升级。
云效具体功能:
整体介绍
云效产品涵盖了项目协作域,研发域,测试域以及运维域,其中项目协作域包括项目管理和指挥部;研发域包括代码管理、配置管理、应用管理、交付管理等;测试域包括单测持续集成、测试环境管理、WebUI自动化、性能压测自动化、接口自动化、集成自动化、Mock测试中心,测试数据中心、缺陷管理、用例管理等;运维域包括资源管理、发布部署、作业平台、P2P文件分发、堡垒机、运维通道,账号权限管理、智能监控等。
项目—以项目为维度进行相关全链路管理,并提供研发综合效能管理系统
项目管理
以项目为维度,管理需求、任务、缺陷、迭代、看板、里程碑、风险、文档、支持Scrum、看板等多种敏捷实践
指挥部
研发综合效能管理系统,涵盖业务规划、人员部署、需求管理、立项管理、复盘和资源统计视图五大模块。提供从业务规划-计划人员安排-实际需求-实际项目-实际资源分配串联的需求、项目、资源闭环流向。
研发—稳定分布式代码托管服务、SCM配置管理、应用全生命周期管理、多人协作开发流管理
代码服务
以稳定的分布式代码托管服务为基础,提供代码评审、代码规约自动检测、代码质量多维分析、代码复用与自动生成、在线IDE等服务。
配置管理
SCM配置管理,集应用管理、代码管理、编译构建、项目流程管理一体,解决代码仓库管理的问题。
应用管理
以应用为单位,申请、创建和配置软件运行所需资源、环境和中间件服务,提供变更、发布、监控和运维等应用全生命周期管理服务。
交付管理
多人协作开发集成、多种编程语言构建打包和分布式集群部署发布等服务;轻松搭建从代码提交、集成、构建到测试环境、预发环境、线上环境部署发布验证的持续交付流水线,质量和安全层层把关。
测试—提供测试环境管理,单测、UI、接口、性能、集成等自动化测试服务,以及用例、缺陷管理和测试数据及Mock服务
单测持续集成
对项目开发仓库地址进行代码变更监控,实时收到邮件反馈包括代码静态扫描,单测用例执行结果,代码覆盖率等集成结果。
测试环境管理
环境资源统一管理、提供环境一键申请、一键部署功能。服务器可分组管理,进行批量操作。
WebUI自动化
创新的Web-UI自动化测试产品,提供了在线的脚本录制、参数化脚本、公共脚本引入、数据库读取、数据初始化、脚本调试与维护等功能。
性能压测自动化
基于Jmeter的性能压测平台,集脚本、场景、压测、监控和报表展示为一体,是一个支持快速、低成本实施压测的平台。
接口自动化
在线的接口自动化测试产品,支持http、hsf、dubbo、sofa等多种接口测试。无需写代码,页面配置即可进行接口测试,接口测试可以保存成用例,持续运行。
集成自动化
系统可自由触发单元测试用例、接口测试用例、UI测试用例,提供集成的全部集成化服务。
用例管理
解决用例无记录,用例传承,新人学习成本高等问题。用例可以自动归档到主干用例,主干用例库项目中可复用,沉淀积累测试用例。支持脑图编辑。
缺陷管理
缺陷整个生命周期的管理,解决缺陷的跟进问题。和云效用例系统、集成自动化打通,自动关联缺陷。
Mock中心
Mock各类第三方环境,让联调及测试不用受环境所累,提升研发效能及自动化的稳定性,支持http、hsf、dubbo及sofa等多种协议。开发无侵入,无需编写代码,只需在页面配置即可完成接口Mock,同时也支持编程式Mock,模拟各类场景。
测试数据中心
测试数据构造与提取中心,支持多种构造方式,方便研发测试协同、方便多种自动化测试框架中的测试数据使用。对测试数据提供者支持多种构造方式,对测试数据提取用户,方便获取,也支持在AUI,SAT等自动化工具中快速使用。
运维—进行一站式资源管理、发布部署等完整运维体系环境提供以及掌上运维和智能一站式监控服务
CMDB
CMDB,业务拓扑,主机自发现,软硬件信息采集和资源模型自定义。依托自主Agent实现资源动态管理,协助运维人员做到精准管控。合理利用机器资源,减少企业成本。
资源管理
一站式完成应用生命周期资源的管理,包括资源的创建、部署、启动、停止、扩容、缩容和下线。
发布部署
覆盖主流应用场景的自动化发布平台,支持蓝绿部署、滚动部署、应用重启等多种部署模式;支持基线类型代码包,静态配置,动态配置,RPM, 容器等发布类型;支持 java、nodejs、python、php等多种技术栈。
作业平台
可视化的插件(脚本和进程)定义及管理,定时任务服务,可扩展流程编排。进程守护与资源限制;支持集群级别的秒级定时任务;适配和兼容SaltStack自动化管理工具,做到企业无缝、低成本接入。
P2P文件分发
大规模文件分发系统,承载了整个阿里集团文件分发需求;同时也是容器镜像分发和Mirror的解决方案。
堡垒机
专业级堡垒机,满足访问集中管控,运维跳转,操作命令记录,过程录屏,命令识别与拦截阻断等多种安全管理与审计需求.满足对于生产网用户操作行为监测与审计需求。符合美国上市企业SOX404审计要求和ISO27001信息安全认证要求。
运维通道
支持百万级规模服务器管控,支持同步/异步的批量命令安全执行,Web终端,插件化Agent设计,全面全量记录系统层调用和账号操作记录,可对危险操作进行屏蔽,保障生产运行安全。
掌上运维
面向研发、运维一站式移动运维客户端,快速查看报警详情,随时随地关注应用状态,远程登录服务器。远程支持无需再带电脑,支持IOS,Android,钉钉等平台。
智能监控
提供基础设施监控、应用监控、业务监控的企业级监控平台,为用户提供一站式监控服务。
云效常见问题
1. 需求、任务和缺陷的区别是什么?
工作项 |
定义 |
使用场景 |
需求 |
代表所需要解决的问题 |
用户需要借助产品实现某个目标,但是产品尚未支持 |
缺陷 |
当系统没有按设计运行的时候,即产生了缺陷 |
产品出现故障和问题,运行方式和结果不符合设计期望 |
任务 |
代表一个小粒度的活动 |
研发实现某个需求和解决某个缺陷,对涉及到工作拆解成一系列的任务,如搭建环境、编写单元测试脚本等 |
2. 指派给和抄送有什么区别?
指派给是这个工作项的当前负责人,我们采用单一负责人机制,单选;抄送指和这个工作项的相关的人,或者需要知情的人,可多选。
3. 工作项的归属项目和关联项目有什么区别?
归属项目表示该项目完全拥有这个工作项,拥有这个工作项的所有权限,该工作项的模板和工作流也跟着归属项目的设置走;关联项目表示需要跟踪这个工作项的项目,所有关联项目里都可以看到这个工作项。
4. 什么是迭代?
迭代是敏捷开发的概念,它是有开始和结束时间的轻量级计划,用来明确规划在开始和结束时间之间需要实现的需求、需要修复的缺陷和需要完成的任务。一个典型迭代的周期从1到6周不等,团队可根据自己的节奏或业务的需要来确定迭代周期。
5. 构建时如何使用自建的maven仓库?
编译服务默认使用RDC自带maven.aliyun.com仓库,如果使用您自己的maven仓库,请将您的settings.xml存到代码库根目录,系统将使用您的仓库进行编译。下载settings.xml示例文件。
6. 开发模式怎么选择?
不同规模团队可以选择不同的开发模式。小团队可以选择自由模式,中等规模团队并行开发时采用分支开发模式,中大规模团队代码自动化程度较高的可以选择git-flow模式;