云效流水线 Flow测评

简介: 从入门到实践,多方位带你领略云效Flow的优与劣

产品介绍

说到流水线,想必大家第一能想到的势必是装配厂里的情形,着实,流水线这个词也来自于工业,它是工业上的一种生产方式,指每一个生产单位只专注处理某一个片段的工作,可节约工厂生产成本,一定程度上节约生产工人数量,实现一定程度的自动化生产,从而提高工作效率及产量。

在介绍流水线前很有必要知道DevOps是啥,DevOps这个词,其实就是Development和Operations两个词的组合。维基百科上的定义,是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障(QA)部门之间的沟通、协作与整合。从目标来看,DevOps就是让开发人员和运维人员更好地沟通合作,通过自动化流程来使得软件整体过程更加快捷和可靠。(有想进一步了解DevOps前世今生的可以阅读下这篇博文,非常详细。)

而我们这里介绍的流水线其实是DevOps中非常重要且必须的一环,是一个自动化的过程,它将软件开发的各个阶段连接起来,从代码的编写、构建、测试,到部署和交付给最终用户的全过程。

云效流水线 Flow 是一款企业级、自动化的持续集成和持续交付工具,通过构建自动化、集成自动化、验证自动化、部署自动化,完成从开发到上线的CI/CD全流程,帮助企业高质量、高效率的交付业务。

下面的产品全景图非常直观地展现了云效流水线 Flow的结构,如下:

image.png

领取试用

评测活动首页很清晰地提供了试用连接,点击这里就可以前往获取对应的免费资源了。如下:

image.png

这里我们直接点击左侧云效DevOps的“立即开启”,来到云效设置页,如下:

image.png

根据实际需要,填写名称及规模,随后点击“立即创建”,来到云效工作台,如下:

image.png

这里页面会根据选择的不同角色呈现不一样的工作台预览效果,比如选择研发者,首页是这样的:

image.png

点击页面上的“开始工作”,便来到了云效的工作平台,如下:

image.png

继续点击云效产品“流水线”,便来到了本次评测活动的产品工作后台,如下:

image.png

到这,领取试用就结束了,接下来将通过具体实践来体验产品功能。

产品体验

在云效工作台中,点击右侧的“新建流水线”按钮,如下:

image.png

提供了两种创建方式,可视化编排和YAML编排。并内置了31个企业级的模板供直接使用,非常方便高效。当然,你还可以点击“新手快速配置引导”,通过引导式来创建你的流水线。接下来就通过两个小实践看看Flow是如何工作的。

JAVA构建应用

  • 创建流水线

选择流水线模板对话框,单击Java,选择Java·构建、部署到阿里云ECS/自由主机,单击创建。如下:

image.png

  • Java构建上传

展开任务步骤里面的Java构建,选择正确的JDK版本和Maven版本。展开任务步骤里面的构建物上传,其它默认,打包路径可以修改为自己实际的项目路径。如下:

image.png

image.png

  • 主机部署

选好制品,然后新建主机组,然后写好下载路径。如下:

image.png

保存并运行,耐心等待流水线完成,通过访问站点即可浏览到java-web应用了,如下:

image.png

Node.js部署小游戏

  • 上传源码

前往并登录云效代码管理Codeup,在代码库页面,单击导入代码库或导入库。如下:

image.png

在导入代码库对话框中,选择URL导入,在源代码库地址中输入如下地址,单击确定。如下:

image.png

耐心等待片刻并刷新页面,返回如下页面,表示代码导入成功。如下:

image.png

image.png

  • 创建流水线

选择流水线模板对话框,单击Node.js,选择Node.js·ECS部署【人生重开模拟器】小游戏模板,单击创建。如下:

image.png

  • 添加流水线源

流程配置页面,单击添加流水线源。在添加流水线源面板,选择Codeup,单击添加服务连接。代码仓库选择lifeRestart,默认分支选择master,然后单击添加。如下:

image.png

  • 主机部署

流程配置页面,单击主机部署。在编辑面板,制品选择默认构建的制品。在编辑面板,主机组选择新建主机组。如下:

image.png

主机组管理页面,单击新建主机组。在新建主机组面板,主机组名称改为flow测评,单击确定。如下:

image.png

flow测评主机组中,单击添加新主机。如下:

image.png

接入新主机面板,添加方式选择阿里云ECS,单击添加服务连接。如下:

image.png

新建服务连接面板,在服务授权/证书右侧单击新建,然后选择使用范围,单击创建。如下:

image.png

在接入新主机面板,地域选择云服务器ECS所在区域,这里我选择华东1(杭州),在可添加的主机列表中选择您的云服务器ECS,单击保存。如下:

image.png

flow测评主机组中,等待添加的云服务器ECS实例的安装进度成功。返回云效Flow页面,主机组选择刚才新建的flow测评主机组。如下:

image.png

image.png

  • 运行流水线

在编辑面板中下滑,您可以看到默认的部署脚本部署策略。这里无需改动,直接单击保存并运行。输入ECS的公网IP。如下:

image.png

image.png

部署过程完成可视化,你可以通过页面看到部署各阶段的全过程,每个步骤都能看到耗时情况,如下:

image.png

image.png

部署耗时1分34秒,成功部署的流水线如下图所示,单击活动校验下方的访问站点或者手机扫描二维码,即可看到成功部署的人生模拟器游戏啦。

image.png

image.png

竞品分析

下面就当下使用率较高的几款流水线工具进行对比,看看谁是你心目中的NO.1。

产品形态

Jenkins的图形化界面是这样的,对于小白来说并不友好,需要比较熟悉操作才可以上手。如下:

image.png

腾讯的蓝鲸持续集成平台(蓝盾)提供了流水线、代码检查、代码库、凭证管理、环境管理、研发商店、编译加速、制品库 8 大核心服务。整个界面的调调还是熟悉的海洋蓝,如下:

image.png

Kubesphere是在Kubernetes之上构建的以应用为中心的多租户容器平台,提供全栈的IT自动化运维的能力,提供了运维友好的向导式操作界面。如下:

image.png

Rainbond的WEB控制台构建在Kubernetes之上,利用其分布式系统的基础能力,提供了一层更加友好的抽象接口。如下:

image.png

Zadig 基于Kubernetes研发的自助式云原生DevOps平台,界面如下:

image.png

从产品形态上来看,云效Flow体现就是一个简约直观实用、我个人比较倾向于Kubesphere的界面设计风格,整体体现的就一个清爽。

产品规格

阿里云 云效Flow针对不同服务提供了不同的规格,如下:

  • 公有云产品

image.png

  • 公有云服务

image.png

  • 专有云

image.png

腾讯的蓝鲸持续集成平台(蓝盾)产品规格相对简单,只有社区版和企业版。

image.png

产品功能

Jenkins的功能包括:

  • 持续集成:Jenkins可以自动拉取代码、构建应用程序并运行测试,确保每次代码提交都能及时检查和集成到主干。
  • 持续部署:它支持自动部署应用程序到目标环境,如测试、预生产和生产环境。Jenkins通过插件和脚本的方式提供了灵活的部署配置。
  • 扩展性:Jenkins的插件生态系统非常丰富,开发团队可以通过安装插件来扩展其功能。这些插件覆盖了各种用例,从构建工具、版本控制系统到通知和报告工具等。
  • 可视化界面:Jenkins提供了直观的用户界面,可以查看构建历史、日志输出和测试报告等信息,帮助团队进行故障排查和性能分析。

云效流水线 Flow 是一款企业级、自动化的研发交付流水线, 提供灵活易用的持续集成、持续验证、 持续发布功能,帮助企业高质量、高效率的交付业务。流水线是持续交付的载体,通过构建自动化、集成自动化、验证自动化、部署自动化,完成从开发到上线过程的持续交付。

腾讯蓝盾提供了流水线、代码检查、代码库、凭证管理、环境管理、研发商店、编译加速、制品库 8 大核心服务,多重组合,满足企业不同场景的需求。

KubeSphere 为用户提供构建企业级 Kubernetes 环境所需的多项功能,例如多云与多集群管理、Kubernetes 资源管理、DevOps、应用生命周期管理、微服务治理(服务网格)、日志查询与收集、服务与网络、多租户管理、监控告警、事件与审计查询、存储管理、访问权限控制、GPU 支持、网络策略、镜像仓库管理以及安全管理等。

Rainbond 是一个云原生应用管理平台,使用简单,主要功能包括应用开发环境、应用市场、微服务架构、应用交付、应用运维、应用级多云管理等。

Zadig 支持定制的企业级 XOps 敏捷效能看板,深度集成多种企业级平台,并通过项目模板化批量快速接入,实现数千个服务的一键纳管治理。

分析总结

  • Jenkins:Jenkins 是一个开源的 CI/CD 工具,拥有庞大的插件库和可扩展性。然而,Jenkins 的配置和管理可能相对复杂,需要一定的学习成本。此外,Jenkins 在处理大规模项目时可能需要更多的系统资源。
  • 腾讯的蓝盾:蓝盾是腾讯推出的免费并开源的 CI 服务,提供了丰富的功能和灵活的配置选项。然而,对于中小企业来说,可能需要考虑其学习曲线和与现有系统的集成成本。
  • Rainbond:Rainbond 是一个云原生应用管理平台,提供了从开发到部署的全流程管理。然而,它可能更适用于云原生应用的开发和管理,对于传统应用的支持可能有限。
  • KubeSphere:KubeSphere 是一个基于 Kubernetes 的容器平台,提供了全面的容器应用管理服务。然而,KubeSphere 的安装和配置可能相对复杂,需要一定的技术背景。
  • Zadig:Zadig 是一个面向开发者的自助式云原生 DevOps 平台,提供了简洁易用的界面和强大的功能。然而,Zadig 可能更适用于云原生应用的开发和部署,对于传统应用的支持可能有限。

通过如上对比分析,可以很直观地得出云效Flow优劣势,如下:

  • 云效 Flow 的优势:
  1. 企业级功能:云效 Flow 作为一个企业级的一站式研发协同平台,提供了丰富的功能和强大的性能,满足企业复杂的业务需求。
  2. 易用性:云效 Flow 提供了直观的用户界面和简洁的操作流程,使得用户可以快速上手,减少学习成本。
  3. 集成性:云效 Flow 支持与多种主流开发工具和框架的集成,方便用户进行统一的研发管理。
  4. 可视化:云效 Flow 提供了可视化的流水线编排和管理功能,使得用户可以直观地查看和管理整个研发流程。
  • 云效 Flow 的不足:
  1. 成本:相比 Jenkins 这样的开源工具,云效 Flow 作为商业产品,可能需要一定的成本投入。
  2. 灵活性:由于云效 Flow 提供了较为完善的功能和界面,可能会在某些特定场景下略显笨重,不够灵活。

试用总结

1)角色、CI/CD工具使用经验及团队需求

  • 我的角色:作为软件开发团队的项目经理,我负责协调和管理团队的开发流程。
  • CI/CD工具使用经验:之前我们的团队使用过Jenkins、GitLab CI等CI/CD工具及KubeSphere。
  • 团队对CI/CD工具的要求:
  • 简单易用:工具需要易于上手,减少学习成本。
  • 稳定性:工具需要稳定可靠,避免频繁出现问题影响开发进度。
  • 灵活性:支持自定义配置,满足团队特定的开发流程需求。
  • 安全性:提供必要的安全措施,保护代码和构建过程的安全。

2)Flow的新人上手体验

  • Flow在新人上手方面相对简单,其界面友好且提供了清晰的引导,这主要得益于其直观的可视化界面和拖拽式构建流程。这种设计大大降低了新手的上手难度,使得用户可以通过简单的拖拽和配置来构建CI/CD流水线,而无需深入了解底层的构建和部署细节。
  • 可能的阻碍包括对于新工具的固有抵触心理,以及对于特定配置项的不熟悉。为了降低新人上手的阻碍,云效Flow提供了一些入门指导和教程,帮助用户更好地理解和使用CI/CD工具。同时,用户也可以参考社区中的其他用户的经验和分享,来更快地掌握云效Flow的使用技巧和方法。

3)Flow的产品功能、性能、开放性

  • 产品功能:Flow提供了丰富的功能,包括代码管理、构建、测试、部署等,能够满足我们团队的大部分需求。特别是其可视化配置界面,使得配置过程更加直观和方便。
  • 性能:Flow在性能方面表现良好,能够满足我们团队的构建和测试需求。在高并发情况下,Flow也能保持稳定的性能。
  • 开放性:Flow支持多种插件和扩展,使得我们可以根据团队需求进行定制。同时,Flow也提供了API接口,方便与其他系统进行集成。
  • 满意的地方:Flow的可视化配置界面和丰富的插件库是其最大的优点,使得配置和管理变得简单和灵活。
  • 不足的地方:Flow在某些特定功能方面可能不如某些商业CI/CD工具强大,例如对于复杂的部署场景的支持可能有所不足。

4)Flow与其他CI/CD工具的对比及推荐意愿

  • 成本:相比一些商业CI/CD工具,Flow在成本方面更具优势,尤其是对于中小型团队来说。
  • 功能:Flow在功能方面已经足够强大,能够满足大部分团队的需求。但在某些特定领域,如复杂的部署场景,可能需要结合其他工具使用。
  • 性能:Flow在性能方面表现良好,能够满足大部分团队的构建和测试需求。
  • 竞争力:综合考虑成本、功能和性能,Flow在CI/CD工具市场上具有一定的竞争力。
  • 推荐意愿:我愿意推荐团队使用云效流水线Flow。其简单易用、功能丰富、性能稳定的特点使得它成为我们团队的首选CI/CD工具。同时,其开放性和可扩展性也使得我们能够根据团队需求进行定制和扩展。
相关实践学习
流水线运行出错排查难?AI帮您智能排查
本实验将带您体验云效流水线Flow的智能排查能力,只需短短1-2分钟,即可体验AI智能排查建议。
ALPD云架构师系列 - 云原生DevOps36计
如何把握和运用云原生技术,撬动新技术红利,实现持续、安全、高效和高质量的应用交付,并提升业务的连续性和稳定性,这是云原生时代持续交付共同面对的机会和挑战。本课程由阿里云开发者学堂和阿里云云效共同出品,是ALPD方法学云架构师系列的核心课程之一,适合架构师、企业工程效能负责人、对DevOps感兴趣的研发、测试、运维。 课程目标 前沿技术:了解云原生下DevOps的正确姿势,享受云原生带来的技术红利 系统知识:全局视角看软件研发生命周期,系统学习DevOps实践技能 课程大纲: 云原生开发和交付:云研发时代软件交付的挑战与云原生工程实践 云原生开发、运行基础设施:无差别的开发、运行环境 自动部署:构建可靠高效的应用发布体系 持续交付:建立团队协同交付的流程和流水线 质量守护:构建和维护测试和质量守护体系 安全保障:打造可信交付的安全保障体系 建立持续反馈和持续改进闭环
目录
相关文章
|
4月前
|
Kubernetes Devops 应用服务中间件
基于 Azure DevOps 与阿里云 ACK 构建企业级 CI/CD 流水线
本文介绍如何结合阿里云 ACK 与 Azure DevOps 搭建自动化部署流程,涵盖集群创建、流水线配置、应用部署与公网暴露,助力企业高效落地云原生 DevOps 实践。
522 1
|
4月前
|
弹性计算 Devops Shell
用阿里云 DevOps Flow 实现 ECS 部署自动化:从准备到落地的完整指南
阿里云 DevOps Flow 是一款助力开发者实现自动化部署的高效工具,支持代码流水线构建、测试与部署至ECS实例,显著提升交付效率与稳定性。本文详解如何通过 Flow 自动部署 Bash 脚本至 ECS,涵盖环境准备、流水线搭建、源码接入、部署流程设计及结果验证,助你快速上手云上自动化运维。
409 0
|
9月前
|
Docker 容器 Perl
云效flow构建docker镜像更换apt源为阿里镜像源
在 Dockerfile 中添加命令以更换 Debian 源为阿里云镜像,加速容器内软件包下载。核心命令通过 `sed` 实现源地址替换,并更新 apt 软件源。其中 `cat` 命令用于验证替换是否成功,实际使用中可删除该行。
1904 32
|
4月前
|
监控 安全 Devops
DevOps 流水线的网络安全盲区与防御策略
在软件研发中,DevOps流水线加速了开发与交付,但也带来严重安全风险。自动化节点和第三方集成成为攻击入口,凭证泄露、供应链渗透、配置错误和依赖混乱等问题频发。企业需构建全流程安全体系,嵌入自动化安全策略,强化访问控制与监控,提升全员安全意识,实现效率与安全的协同发展。
479 1
|
运维 Devops 持续交付
自动化运维的魔法:打造高效DevOps流水线
【10月更文挑战第34天】在数字化时代的浪潮中,DevOps成为企业追求敏捷、高效和稳定的关键。本文将通过一个真实案例,展示如何构建一个高效的DevOps流水线,实现从代码提交到部署的全自动化流程。我们将探讨流水线设计的哲学、工具选择以及面临的挑战,并分享实际的代码示例和操作步骤,帮助读者理解自动化运维的精髓。
337 2
|
弹性计算 监控 JavaScript
云效Flow:打造高效、稳定的CI/CD流程实战指南
【10月更文挑战第7天】本文介绍了“云效Flow”这一CI/CD工具,通过实际案例展示了其在Node.js项目中的应用,包括自动化构建、测试及部署流程。云效Flow支持多种开发语言与框架,集成第三方服务,提供详尽的新手引导,简化了CI/CD流程的搭建,提升了开发效率与软件质量,特别适合初创团队和大型企业使用。
528 4
|
数据可视化 关系型数据库 MySQL
阿里云开发者社区12月更文特别活动分享:🌍PolarDB、🧹OS Copilot和🧰云效Flow深度体验
本文深入探讨了阿里云的三款核心产品:PolarDB MySQL、OS Copilot和云效Flow,分别聚焦于云数据库、系统运维和DevOps流程管理的功能、表现及优化建议。通过多场景评测与实验,展示了这些产品在提高效率、简化操作和增强系统稳定性方面的显著优势。
|
运维 监控 Devops
自动化运维实践:打造高效的DevOps流水线
在软件开发的快节奏中,自动化运维成为提升效率、确保质量的关键。本文将引导你理解自动化运维的价值,通过实际案例分享如何构建一个高效、可靠的DevOps流水线。我们将从持续集成(CI)开始,逐步深入到持续部署(CD),并展示代码示例来具体说明。准备好让你的运维工作飞跃式进步了吗?让我们开始吧!
|
运维 监控 Devops
自动化运维的魔法:打造高效DevOps流水线
【10月更文挑战第6天】 在现代软件开发的快节奏中,自动化运维成为提高效率、保障质量的重要手段。本文将带你了解如何构建高效的DevOps流水线,从持续集成到部署,再到监控和反馈,我们将一步步揭开自动化运维的神秘面纱。你将学习到如何通过代码和工具的结合,实现软件交付过程的自动化,以及如何通过这一流程提升团队的协作和响应速度。让我们开始探索自动化运维的奇妙之旅吧!
|
运维 Devops jenkins
自动化运维:打造高效DevOps流水线
【8月更文挑战第44天】本文将通过深入浅出的方式,带你构建一个自动化的DevOps流水线,提升开发和部署效率。从基础概念到实际操作,我们一步步剖析如何实现代码提交、自动测试、构建、部署的全过程自动化。你将学会使用Jenkins、Git、Docker等工具,并结合Shell脚本编写,完成一个完整的自动化流程。文章末尾附有完整的示例代码,助你快速上手实践。