新一代 CI 持续集成工具 flow.ci 正式开源

4,933 阅读3分钟

很高兴地宣布 flow.ci 在 Apache-2.0 协议下正式开源了。flow.ci 是国内首套开源持续集成(CI) 解决方案,帮助企业团队实现开发流程(build-test-deploy)自动化,快速持续交付高质量软件。

官方网站:flow.ci

开源地址:github.com/flowci

以此,你可以将功能完整的 flow.ci 持续集成服务部署到内网使用。在使用过程中有任何 bug 反馈或功能建议,可直接在 github 提 issues,或者通过 pull request 贡献代码。

关于 flow.ci 新特性

支持 Docker 一键部署,分分钟创建一套CI系统

flow.ci 在 Docker Hub 上提供了最新的镜像,用户可以方便地获取 Docker 镜像,快速启动 Agent.具体文档请查看 FlowCI/docker.

支持 YML 配置文件,快速创建工作流

flow.ci 支持通过配置 yml 方式创建工作流,我们提供了iOS & Android 项目的 yml 模板,用户可自行调整配置 Agent 工作环境&参数,构建环境&参数等,具体可参考文档:FlowCI/templates.
flow.ci

几行脚本,极速上传 fir.im

在 yml 工作流中配置以下脚本(基于Docker),可一步生成 fir.im 应用短链接,快速进行应用内测。

- name: fir_publish
        script: |
          array=$(find ${IOS_IPA_DIR} -name *.ipa 2>&1)
          for file in ${array[@]}
          do
            fir publish $file
          done

flow.ci

新设计 UI/UE,只为简单高效

在「产品功能」和「流程界面」上,flow.ci 拥有全新的 UI/UE,使用上更加简单高效。

1.一个界面,聚合常用功能,全面把控构建任务
  • 可快速搜索、创建、切换 Flow
  • 查看 Agent 构建状态
  • 查看构建历史记录
  • 查看构建详情(日志)

flow.ci

2.管理员控制台可轻松管理所有配置

这些配置包括,Flow 管理、Agent 管理、成员管理、证书管理、消息通知管理、插件管理等等。 flow.ci

全新技术栈,保证高效稳定构建

flow.ci 开源版采用了全新的技术栈,更看重「构建效率」「高可用」「扩展性」。

  • 基于 Java 语言编写,在效率、性能、稳定性、跨平台有着很好的平衡性
  • 采用 ZooKeeper 分布式服务框架 ,调度 Agent 任务更佳灵活
  • 支持 Docker 一键部署,简化部署流程
  • 使用 React.js 前端框架,性能优越

flow.ci

强大灵活的插件系统

flow.ci 的每个 flow 由插件和触发器构成,根据不同的语言和环境提供对应的丰富的插件,更加灵活。

  • 完全可视化的插件操作
  • 插件样式可自定义
  • 更佳适应脚本爱好者

flow.ci
P.S.更多的插件,正在准备中…

flow.ci Roadmap

未来 flow.ci 将上线以下功能:

  • 插件系统,支持自定义脚本/ 自定义CSS
  • Pipeline,多 Job 串并联与容器云平台集成
  • 产物存储,统一管理历史存档
  • 数据统计分析,构建成功率分析并形成报表等
  • 日志分析,精准定位构建失败的原因
  • 与 IDE 集成
  • ……

flow.ci

以上功能已加入 flow.ci Roadmap,如果你有其他功能需求请在 github 提 issues,或通过 pull request 的方式参与 flow.ci 迭代开发。

结语

我们希望通过 flow.ci 的开源,能够惠及更多的企业级开发者,让他们不再因为配置复杂度而对 CI 产生畏惧;同时希望聚集社区力量,做符合国情的、好用的 CI 工具。

感谢支持 :)

--

flow.ci 团队