云效助力小微企业两步快走实现持续交付

 

 

1 背景

小型企业一般是指研发人数少于30人的企业,这些企业有的处于生存期,有的处于发展期,要求产品迭代速度要赶上市场更新速度。对于研发流程,一般没有专职的管理人员,希望引进成熟的方案把游击队改造成正规军,用小而精的技术团队驱动大业务、大市场,进而实现企业和团队的大发展。

你有问题,我有方案。云效助力中小企业发展,适合你的解决方案才是最好的方案。任何软件研发过程都必须解决两个问题:代码怎么管、产品怎么发?不希望引入复杂的流程、不希望增加额外的人员消耗,又可以解决实际问题并获得效能提升。借助云效,只需要“十分钟,两步走”您就可以拥有成熟的持续交付能力:

第一步,用代码平台进行代码托管和评审;

第二步,用流水线进行持续集成和交付。

2 当前小型企业持续交付中遇到的挑战

如果没有引入成熟的工具和方法,研发过程一般面临这些挑战:

  • 团队没有统一的研发管理流程,工具无约束,遵守流程规范基本靠自觉;

  • 日常发布流程中人工干预过多,缺乏自动化部署能力;

满足团队日常开发的需求,能够顺畅地部置到生产环境,需要:

  • 统一的代码托管和评审;

  • 一致的构建和运行环境;

  • 规范的自动化发布流程。

3 基于云效解决方案

3.1 云效持续交付能力

云效,企业级一站式DevOps解决方案,源于阿里巴巴先进的管理理念和工程实践,致力于成为数字企业的研发效能引擎!云效提供从“需求->开发->测试->发布->运维->运营”端到端的协同服务和研发工具,支持公共云、专有云和混合云多种部署形态,通过人工智能、自动化技术的应用助力开发者提升研发效能,持续快速交付有效值。

 

3.2 我们的优势

3.2.1 代码管理

  • 阿里巴巴自研,适合企业级代码库,提供企业间数据隔离及企业-代码库-成员三级权限管控能力。

  • 安全稳定的代码库,完善的日志审计、IP白名单等实现访问控制,让你的代码安全无忧。

  • 多样化代码评审,完善的配置能力支持丰富的代码评审场景,自动化代码扫描提高评审效率。

  • 自动化代码检测,提供安全扫描快速暴露代码安全问题,同时提供代码规约检查保障代码质量。

3.2.2 流水线

  • 快速生成流水线,适用多种场景,通过模版来快速创建流水线,提供可视化编排和结果展现,所见即所得;

  • 自动化质量保障手段,支持代码扫描、 安全扫描,人工测试卡点等多种质量红线,确保业务交付质量。

  • 支持多语言,Java、Node.js、Python、PHP、Golang等语言脚手架生成代码框架,可以对接主流代码仓库;

  • 软件发布支持,保障业务稳定交付,通过灰度发布、分批发布的策略,保障业务交付的稳定。

  • 钉钉消息通知,流水线运行结果,即时准确地反馈到钉钉群。降低沟通成本,提升团队工程协同。

3.3 解决方案架构图

结合代码管理平台和持续交付流水线,为小微企业实现随时集成,每日交付提供了很好的基础保障,真正实现持续快速交付有效价值。

 

  • 开发者根据任务安排,创建特性分支,通过线下编译和自测通过提交代码;

  • 代码提交自动触发代码扫描,通过后发起合并请求,根据代码库设置发送给指定的代码评审员进行评审;

  • 完成代码评审后合并集成分支,自动触发集成分支流水线,完成构建、部署和测试环境验证工作,验证通过合并到发布分支;

  • 根据发布时间人工触发发布分支流水线,完成构建、预发部署验证、发布审核等流程,审批通过部署生产环境;

  • 过程中任何问题通过钉钉,自动化地及时反馈到指定负责人,做到准确反馈、即时响应,快速恢复。

3.4 两步开启持续交付

第一步:先把代码托管起来

  1. 快速创建代码仓库

通过代码库右上角,点击【添加代码库】,可以选择新建代码库和导入代码库,代码库克隆支持HTTPS和SSH两种协议;

 

  1. 开启代码扫描

在提交和合并请求中,可以自动触发代码扫描任务。目前提供了两种扫描能力:敏感信息扫描及Java规约扫描。 管理员可以在【设置】-【集成与服务】中开启设置代码扫描的时机,或者开启和关闭扫描;

 

  1. 引入代码评审

通过【分支设置】完成代码评审场景定制,例如设置集成分支为保护分支,需要通过新建合并请求-通过合并请求-合并分支流程完成;

 

第二步:用流水线实现自动交付

  1. 一键创建流水线

点击流水线列表右上角的【新建流水线】按钮,开始创建流水线,选择研发语言和流水线模版;

 

  1. 编辑流水线场景

通过流水线编辑功能,结合企业场景快速配置以下2条流水线:

  • 集成环境流水线

 

【步骤说明】

*触发方式选择:代码提交触发;

*集成分支开始构建编译;

*编译通过部署测试环境;

*测试同学测试验证;

*验证通过代码合并发布分支;

  • 发布环境流水线

 

【步骤说明】

*发布分支开始构建编译;

*编译通过部署预发环境;

*预发环境验收测试;

*验证通过开始发布单审核;

*审核通过部署生产环境;

3.5 用户旅程

通过以下内容详细介绍如何快速实现从代码提交到交付的过程。【场景为:Java单应用主机部署】;

新建特性分支,开始编码

开发人员可以通过代码平台在线方式或者本地新建分支开始编码,代码完成后提交远端分支;工具开始自动执行java开发规约和敏感信息扫描,可以直观看到检查结果,便于进一步改进;

 

新建合并请求发起代码评审

分支规约扫描通过后开始新建合并请求发起代码评审,强制代码评审有利于提高代码质量,帮助开发人员尽早发现问题,提高问题修复的效率;

 

分支通过代码评审后,点击“合并”按钮,代码自动合并到集成分支,随即触发集成分支流水线,开始构建和测试环境部署。

 

启动集成测试和验证

集成分支构建部署到测试环境后,测试同学开始进行测试验证,根据测试结果选择“验证通过”或者“验证不通过”,测试通过后代码合入发布分支;

 

启动生产环境发布和审核

发布分支构建部署预发环境并且测试验证通过后,提交生产环境发布单审批,指定的同学“通过”后开始生产环境部署;

 

查看流水线运行结果

所见即所得,流水线运行过程直观展示,企业可完整看到当前流水线运行所处阶段和场景;

  • 集成环境流水线

 

  • 发布环境流水线

 

获得反馈信息

流水线中配置钉钉群通知插件,可以将流水线运行过程中的信息反馈相应同学,便于快速定位和排查问题,钉钉群流水线运行结果:

 

4 更多场景

随着研发团队规模不断壮大,产品线逐渐丰富,加强测试和质量保障是绕不开的步骤,基于流水线自动化测试和红线卡点可以有效保障产品交付质量,根据需求选择合适的流水线任务加入到现有流程中,企业可以灵活定义适合自身场景的玩法。

5 结语

本文通过“两步走”介绍了如何在10分钟内建立企业专属的流水线场景,快速规范代码托管和应用发布,获得研发效能成倍提升。

6 推荐阅读

云效助力幻熊科技实现每日交付:https://thoughts.aliyun.com/sharespace/5e8c387c0aa435001a74f7ab/docs/5e8c387c0aa435001a74f7a5

 

附录 流水线配置介绍

基于Java单应用主机部署

流水线模版:完成持续交付自动化流程,将构建,部署,测试,管控等组件化能力进行串通;

增加【阶段】:在流水线中需要按顺序执行的一组任务的集合,一个阶段可以是手动运行也可以是自动运行。

添加【任务】:在阶段中具体需要完成的动作,任务之间可以串行执行也可以并行执行,目前任务包含:代码扫描,单元测试,构建, 部署,合并代码,人工审核等功能。

 

构建:云效通过多种构建步骤,支持不同语言的构建能力;

制品:添加了"构建物上传"的步骤,在流水线中后续阶段部署中可以使用“构建物上传”中配置的制品;

部署:这里的部署组可以理解为不同的环境,目前支持阿里云ECS和可以出公网的非阿里云主机,支持主机分批部署策略;

回滚:流水执行记录-部署历史中,可以查看该流水线所有执行的部署历史记录,并可选择其中任意一条历史记录进行回滚操作。

 

接收消息反馈

流水线中配置钉钉群通知插件,为钉钉群自动发送流水线运行信息,复制钉钉机器人的 webhook 地址,编辑流水线的任务,在任务插件中选择钉钉群通知,并填写 webhook 地址和运行时机;

 

了解更多云效,加入钉钉群:34532418

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值