小微企业两步快走实现持续交付-阿里云开发者社区

开发者社区> Yvonne> 正文

小微企业两步快走实现持续交付

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

1 背景
小型企业一般是指研发人数少于30人的企业,这些企业有的处于生存期,有的处于发展期,要求产品迭代速度要赶上市场更新速度。对于研发流程,一般没有专职的管理人员,希望引进成熟的方案把游击队改造成正规军,用小而精的技术团队驱动大业务、大市场,进而实现企业和团队的大发展。
你有问题,我有方案。云效助力中小企业发展,适合你的解决方案才是最好的方案。任何软件研发过程都必须解决两个问题:代码怎么管、产品怎么发?不希望引入复杂的流程、不希望增加额外的人员消耗,又可以解决实际问题并获得效能提升。借助云效,只需要“十分钟,两步走”您就可以拥有成熟的持续交付能力:

第一步,用代码平台进行代码托管和评审;
第二步,用流水线进行持续集成和交付。

2 当前小型企业持续交付中遇到的挑战
如果没有引入成熟的工具和方法,研发过程一般面临这些挑战:
团队没有统一的研发管理流程,工具无约束,遵守流程规范基本靠自觉;
日常发布流程中人工干预过多,缺乏自动化部署能力;
满足团队日常开发的需求,能够顺畅地部置到生产环境,需要:
统一的代码托管和评审;
一致的构建和运行环境;
规范的自动化发布流程。
3 基于云效解决方案
3.1 云效持续交付能力
云效,企业级一站式DevOps解决方案,源于阿里巴巴先进的管理理念和工程实践,致力于成为数字企业的研发效能引擎!云效提供从“需求->开发->测试->发布->运维->运营”端到端的协同服务和研发工具,支持公共云、专有云和混合云多种部署形态,通过人工智能、自动化技术的应用助力开发者提升研发效能,持续快速交付有效值。
image.png
3.2 我们的优势
3.2.1 代码管理
阿里巴巴自研,适合企业级代码库,提供企业间数据隔离及企业-代码库-成员三级权限管控能力。
安全稳定的代码库,完善的日志审计、IP白名单等实现访问控制,让你的代码安全无忧。
多样化代码评审,完善的配置能力支持丰富的代码评审场景,自动化代码扫描提高评审效率。
自动化代码检测,提供安全扫描快速暴露代码安全问题,同时提供代码规约检查保障代码质量。
3.2.2 流水线
快速生成流水线,适用多种场景,通过模版来快速创建流水线,提供可视化编排和结果展现,所见即所得;
自动化质量保障手段,支持代码扫描、 安全扫描,人工测试卡点等多种质量红线,确保业务交付质量。
支持多语言,Java、Node.js、Python、PHP、Golang等语言脚手架生成代码框架,可以对接主流代码仓库;
软件发布支持,保障业务稳定交付,通过灰度发布、分批发布的策略,保障业务交付的稳定。
钉钉消息通知,流水线运行结果,即时准确地反馈到钉钉群。降低沟通成本,提升团队工程协同。
3.3 解决方案架构图
结合代码管理平台和持续交付流水线,为小微企业实现随时集成,每日交付提供了很好的基础保障,真正实现持续快速交付有效价值。
image.png
开发者根据任务安排,创建特性分支,通过线下编译和自测通过提交代码;
代码提交自动触发代码扫描,通过后发起合并请求,根据代码库设置发送给指定的代码评审员进行评审;
完成代码评审后合并集成分支,自动触发集成分支流水线,完成构建、部署和测试环境验证工作,验证通过合并到发布分支;
根据发布时间人工触发发布分支流水线,完成构建、预发部署验证、发布审核等流程,审批通过部署生产环境;
过程中任何问题通过钉钉,自动化地及时反馈到指定负责人,做到准确反馈、即时响应,快速恢复。
3.4 两步开启持续交付
第一步:先把代码托管起来
快速创建代码仓库
通过代码库右上角,点击【添加代码库】,可以选择新建代码库和导入代码库,代码库克隆支持HTTPS和SSH两种协议;
image.png
开启代码扫描
在提交和合并请求中,可以自动触发代码扫描任务。目前提供了两种扫描能力:敏感信息扫描及Java规约扫描。 管理员可以在【设置】-【集成与服务】中开启设置代码扫描的时机,或者开启和关闭扫描;
image.png
引入代码评审
通过【分支设置】完成代码评审场景定制,例如设置集成分支为保护分支,需要通过新建合并请求-通过合并请求-合并分支流程完成;
image.png
第二步:用流水线实现自动交付
一键创建流水线
点击流水线列表右上角的【新建流水线】按钮,开始创建流水线,选择研发语言和流水线模版;
image.png
编辑流水线场景
通过流水线编辑功能,结合企业场景快速配置以下2条流水线:
集成环境流水线
image.png
【步骤说明】
*触发方式选择:代码提交触发;
*集成分支开始构建编译;
*编译通过部署测试环境;
*测试同学测试验证;
*验证通过代码合并发布分支;
发布环境流水线
image.png
【步骤说明】
*发布分支开始构建编译;
*编译通过部署预发环境;
*预发环境验收测试;
*验证通过开始发布单审核;
*审核通过部署生产环境;
3.5 用户旅程
通过以下内容详细介绍如何快速实现从代码提交到交付的过程。【场景为:Java单应用主机部署】;
新建特性分支,开始编码
开发人员可以通过代码平台在线方式或者本地新建分支开始编码,代码完成后提交远端分支;工具开始自动执行java开发规约和敏感信息扫描,可以直观看到检查结果,便于进一步改进;
image.png
新建合并请求发起代码评审
分支规约扫描通过后开始新建合并请求发起代码评审,强制代码评审有利于提高代码质量,帮助开发人员尽早发现问题,提高问题修复的效率;
image.png
分支通过代码评审后,点击“合并”按钮,代码自动合并到集成分支,随即触发集成分支流水线,开始构建和测试环境部署。
image.png
启动集成测试和验证
集成分支构建部署到测试环境后,测试同学开始进行测试验证,根据测试结果选择“验证通过”或者“验证不通过”,测试通过后代码合入发布分支;
image.png
启动生产环境发布和审核
发布分支构建部署预发环境并且测试验证通过后,提交生产环境发布单审批,指定的同学“通过”后开始生产环境部署;
image.png
查看流水线运行结果
所见即所得,流水线运行过程直观展示,企业可完整看到当前流水线运行所处阶段和场景;
集成环境流水线
image.png
发布环境流水线
image.png
获得反馈信息
流水线中配置钉钉群通知插件,可以将流水线运行过程中的信息反馈相应同学,便于快速定位和排查问题,钉钉群流水线运行结果:
image.png
4 更多场景
随着研发团队规模不断壮大,产品线逐渐丰富,加强测试和质量保障是绕不开的步骤,基于流水线自动化测试和红线卡点可以有效保障产品交付质量,根据需求选择合适的流水线任务加入到现有流程中,企业可以灵活定义适合自身场景的玩法。
5 结语
本文通过“两步走”介绍了如何在10分钟内建立企业专属的流水线场景,快速规范代码托管和应用发布,获得研发效能成倍提升。

附录 流水线配置介绍
基于Java单应用主机部署
流水线模版:完成持续交付自动化流程,将构建,部署,测试,管控等组件化能力进行串通;
增加【阶段】:在流水线中需要按顺序执行的一组任务的集合,一个阶段可以是手动运行也可以是自动运行。
添加【任务】:在阶段中具体需要完成的动作,任务之间可以串行执行也可以并行执行,目前任务包含:代码扫描,单元测试,构建, 部署,合并代码,人工审核等功能。

构建:云效通过多种构建步骤,支持不同语言的构建能力;
制品:添加了"构建物上传"的步骤,在流水线中后续阶段部署中可以使用“构建物上传”中配置的制品;
部署:这里的部署组可以理解为不同的环境,目前支持阿里云ECS和可以出公网的非阿里云主机,支持主机分批部署策略;
回滚:流水执行记录-部署历史中,可以查看该流水线所有执行的部署历史记录,并可选择其中任意一条历史记录进行回滚操作。

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

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
初创企业如何做高效持续交付
6月29日,由阿里云研发协同RDC、阿里云云效和云栖社区联合举办的“首届阿里巴巴研发效能嘉年华”上,阿里巴巴产品专家、研发协同RDC产品经理胥引带来“初创企业的持续交付”的演讲。本文主要从双十一员工消费引出研发协同,然后开始着重分析初创企业的持续交付,包括初创企业必备的种种,最后对初创企业的分享做了简要总结。
6892 0
服务化架构下企业的业务持续交付——云效平台持续交付实践
本文的整理自2017云栖大会-南京峰会上阿里云资深开发工程师苗欣的分享讲义,讲义主要分享了阿里巴巴的持续交付之路,云效平台所提供一整套的持续部署、持续交付和持续验证的解决方案,以及实际效果,并且与大家分享了业务持续交付的相关客户案例。
1654 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4477 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
9423 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
10767 0
云效平台:企业级互联网架构下的持续集成与持续交付实践
本文的整理自2017云栖大会-南京峰会上阿里云高级技术专家鲁小川的分享讲义,讲义主要分享了阿里云云效平台对于企业级互联网架构下的持续集成与持续交付的实践经验,首先介绍了阿里云云效平台的起源,之后对于企业并发研发项目交付流程存在痛点进行了介绍,并介绍了云效平台针对业务痛点所能够提供的服务和能力,并且结合实际案例分享了云效平台持续集成和持续交付实践。
2426 0
阿里巴巴1682亿背后的“企业级”高效持续交付
在2017北京云栖大会上,阿里巴巴高级技术专家陈鑫(花名神秀),给大家带来了《1682亿背后的企业级高效持续交付》,引起强烈共鸣。神秀从技术负责人关心的研发流程混乱、质量无法保障、环境管理低效、资源浪费等方面,结合阿里巴巴的DevOps实践,深度解析了企业级持续交付如何做,企业如何高效协作,控制成本的精彩分享。
3418 0
谈谈企业的持续交付流水线设计
本文讲的是谈谈企业的持续交付流水线设计,有一天,业务人员急冲冲的跑过来,对你说生产上出现了一个严重BUG,必须要尽快修复。
1659 0
+关注
54
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载