Drone工具评测

本文基于G2.com的用户评价,分析了Drone工具在构建日志滞后、用户界面、配置复杂性和扩展性等方面的优点与不足,并提出改进措施。同时,与GitLab进行了对比,指出Drone在持续集成方面的潜力和待提升之处。
摘要由CSDN通过智能技术生成

Drone工具评测

Drone工具评测

数据主要来源于G2.com网站 ,G2.com 是一个在线软件和服务评论平台。该网站允许用户分享和查看有关各种软件、工具和服务的评价和评分,用户可以在这里找到关于特定产品的真实用户反馈。在该网站我获取到了关于drone所有用户的一个反馈并查看drone文档看其是否对每个用户所反馈的问题有所改进,并做了总结。

构建日志滞后:构建日志有时会滞后于构建几秒到几分钟,可能影响调试。

因为Drone使用了异步的日志处理机制,即构建或部署操作在后台进行,而日志输出则是通过WebSocket或HTTP长连接实时传输给用户界面。由于网络延迟、服务器负载或其他因素,日志输出可能会有一定的延迟。

改进方法:Drone提供了一些配置选项,可以调整日志输出的行为,尝试减少日志滞后问题。

部分用户界面简单:有用户认为用户界面有些简单,可能在项目数量增加时缺乏直接反馈。

改进方法:考虑使用 Drone 的 API 自定义一个仪表板,展示用户需要的特定信息。Drone 提供了一些基本的项目过滤和通知设置功能,可以根据构建状态过滤项目,也可以设置构建失败时发送电子邮件通知,其次可以使用 Drone 的插件系统来扩展其功能。

缺乏特色,使用一年,服务没有进展,仍处于初级阶段;git 分支没有分离;设置过于简单,无法自定义某些依赖版本。

改进方法:Drone现在支持与MacStadium的集成以及增加了对Starlark脚本的支持,为Mac和iOS开发人员提供了云原生的持续集成和交付体验。Drone 可以与多个源代码管理系统(包括GitLab、GitHub、Bitbucket等)无缝集成,在Drone中轻松管理和执行与Git分支相关的构建和部署操作。Drone支持使用Docker容器来执行构建步骤,开发人员可以自定义构建过程中使用的依赖版本。

尝试制作一个可以轻松运行构建的脚本,Drone.io 中的配置很困难,专用于它的文本区域很小。

改进方式:将Drone.io的配置文件存储在代码仓库之外以及将常用的配置代码片段封装为模板,然后,在Drone.io的配置文件中引用外部文件和这些模版,减少配置文件的大小,并且可以重复使用已定义的构建和部署流程。再者,使用Drone CLI来编写和管理配置文件。

使用Drone设置存储库(包含秘密、加密等)可能很困难。

改进方式:Drone.io允许在构建过程中使用加密的环境变量,称为"secrets",可以存储敏感信息,在Drone.io的界面中设置和管理这些secrets,确保它们在构建过程中被安全地使用。Drone.io支持使用加密的Docker镜像来执行构建过程。Drone.io提供了细粒度的访问控制功能,允许控制哪些用户或团队可以访问和修改存储库的配置。

收到的电子邮件是原始且系统的,最好不要为连续成功的构建发送电子邮件,该网站很简单,实时控制台输出并不总是有效。语言的支持非常有限。将构建脚本设置到服务中不是很方便,最好将其放在代码中。仪表板可能有点太简单了,所有项目的总结图可能会非常方便。总的来说,该网站有点过于简单。担心当项目数量增加时,缺乏对哪里出了问题的直接反馈。

用于存储构建日志等数据的单个数据库可能是单点故障,文档并不总是对所有可能的参数等最清晰的。

改进方式:可以使用负载均衡器来分发流量到多个Drone.io实例,以实现水平扩展。另外,还可以使用容器编排工具来管理和自动化,Drone.io实例的部署和扩展。关于单点故障问题,考虑使用分布式数据库或者将数据备份到多个位置,并设置监控和警报机制,以便在出现故障时能够及时发现和修复。

Drone.io 为许多不常见的语言(例如 Go 和 Haskell)提供支持,但不提供对 Rust 的支持。

改进方式:通过自定义配置来支持Rust项目的构建和部署,使用适当的插件和脚本来执行Rust项目的构建和测试。
也可以在Drone.io的插件注册表或社区论坛中寻找相关资源。

部署设置稍微复杂一点,假设需要一次部署到许多服务器,如果某些服务器失败,则无法回退。

改进方式:针对一次性部署到多个服务器这个情况,可以在Drone.io的构建配置文件中定义多个步骤来处理每个服务器的部署,使用不同的命令和参数来指定每个服务器的部署设置。在处理部署失败和回退的情况下,可以在构建配置文件中使用条件语句和错误处理机制来处理这种情况,可以定义回退步骤或回滚操作,根据需要自定义处理部署失败和回退的逻辑。

对于同一个 GitHub 存储库使用不同的构建类型确实很痛苦。相当大的限制。

drone支持使用多个流水线来定义和执行不同的构建类型,一种方式是使用YAML文件来定义你的多个流水线,另一种方式是使用Starlark脚本,还有一种方式是使用命令行工具。

并对DroneGitLab进行了比较:
Drone、Gitlab工具比较
其实看了下除了评论数目有较大差别外,其他的,两者的得分都差不多。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值