我们如何让开源 CI 变得更好?

2025-06-08

我们如何让开源 CI 变得更好?

本文将介绍Drone CI,它是一款功能强大、轻量级、基于 Docker、支持多管道、跨平台的开源 CI/CD 工具。Drone 于 2012 年推出,与许多其他开源工具一样,它由开发人员开发,也服务于开发人员,因此缺乏用户友好的界面。

我希望我们最终改变了它……

在Pixel Point,我们每天都在各种不同的项目中使用 Drone,因此我们决定对其进行改进。经过数月的研发,我们非常高兴地宣布全新 Drone v1.0.0 现已正式上线。

新版本

旧版

研究先前的解决方案

这些改进的主要目的是改进用户体验 (UX),其次是用户界面 (UI)。我们审查了在 Github 上发现的 Drone 现有问题,并收集了来自开发人员和 Drone 创始人 Brad Rydzewski 的反馈。

基于此,我们整理了一份主要问题清单:

  • 导航复杂且模糊
  • 令人困惑的取消构建操作
  • 存储库激活期间缺乏用户交互
  • 缺乏对移动和平板设备的响应式设计支持
  • 没有明确定义的主页
  • 界面可扩展性问题,没有空间容纳新功能
  • 模糊设置保存

我们还创建了即将推出的新功能列表,其中包括多管道构建、对 cron 作业的支持以及新的存储库设置。

新想法与实现

关键导航 – 搜索
首先,我们决定将“搜索”功能作为跨存储库导航和激活的关键组件。它位于每个页面的顶部,可通过快捷键“/”访问。使用搜索时,您可以查看存储库的摘要和最新构建的状态。

卡片
我们为存储库设计了卡片,使用最有用的信息,并尝试创建尽可能灵活的解决方案。例如,主页上卡片的标题是存储库的名称,而第二行是包含重要信息的易于阅读的短语。

我们根据提交的作者、事件、分支和提交信息构建了该解决方案。该解决方案比表格视图更具扩展性,因为表格视图的每一列都对应一个特定的字段。使用我们的解决方案,您可以轻松折叠它并在移动端视图中拆分行。

标签页
我们改进了代码库页面,让您一打开就能看到标签页。这为设置页面提供了更便捷的导航方式,也方便我们将来添加新的标签页(目前我们已经有几个标签页在开发中)。

单一设置页面:
不再将某些设置拆分到不同的页面,现在所有设置都集中在一个页面中。激活新仓库后,您将立即重定向到设置页面,因为这通常是您配置仓库的第一步。

新的构建页面
我们致力于统一组件,因此包含构建状态简要信息的主要组件与之前的页面相同。左侧导航现在支持多个管道。顶部我们增加了按钮空间,我们计划在未来版本中添加新功能。

日志很重要
为了更好地阅读和浏览日志,我们添加了全屏模式和下载日志的功能,如果您的日志很大并且您想在您个人喜欢的编辑器中查看它们,这尤其有用。

同步不会妨碍您的工作
一些 Drone 客户端拥有大量的仓库列表,将它们全部同步到 Drone 需要一些时间。以前,同步是一项全屏任务,不允许您关闭屏幕或继续处理现有的仓库列表。现在,它只是一个带有动画的小按钮,在同步过程中播放。

智能加载:
在新版本中,当您在第一个应用上加载数据并跳转到另一个页面时,Drone 会利用现有列表,并清晰地显示数据正在加载的提示。无需再等待或观察旋转图标;如果有数据,它会立即渲染。

空白状态的漂亮图标
我们付出了很多努力来制作漂亮的空白状态,并制作了许多不同的图标,您可以在各个页面上欣赏。

您对无人机还有什么期望?

目前已计划发布 Drone 1.1 版本,其主要功能包括:

  • 构建页面中针对特定环境的“部署”按钮
  • 按分支和环境过滤构建的能力
  • 为刚刚安装 Drone 的用户提供用户友好的工具提示
  • 实时更新的新方法
  • 改进的用户管理

请继续关注并订阅GithubTwitter上的发布更新

鏂囩珷鏉ユ簮锛�https://dev.to/alex_barashkov/how-did-we-make-open-source-ci-better-15b0
PREV
如何使用 Typescript 和 Nodejs 订阅并接收来自 YouTube API 的推送通知
NEXT
开始使用开源无人机 CI GenAI LIVE!| 2025 年 6 月 4 日