flow.ci - 简单强大的开源 CI/CD 工具

时间:2022-07-23
本文章向大家介绍flow.ci - 简单强大的开源 CI/CD 工具,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

flow.ci 是一款开源的 CI/CD 工具, 让用户在更轻松,友好的环境下进行持续集成/部署。采用三端架构,服务端、Web、 Agent,支持服务端的负载均衡以提高稳定性。所有任务运行在 Agent 上,并可以配置任务主机来自动调度 Agent 提升构建速度。

GitHub: https://github.com/flowci Site: https://flowci.github.io

对于其他的 CI/CD jenkins, gocd, teamcity 等工具,flow.ci 具有如下特点:

  • 简单:用户只需选择 YAML 配置模板,即可开始第一次构建,开箱即用
    start
  • CI with Docker: flow.ci 中的任务(Step) 可以在主机上或者使用 Docker 运行,只要配置相应的 Docker 镜像,即可得到所需要的环境。
steps
- name: run from docker
  docker:
    image: ubuntu:18.04
  script: |
    echo "this script from docker container"
steps
- name: run from host
  script: |
    echo "this script from host"

如果任务中需要比如 mysql 等服务,则可以配置多个 docker:

 - name: run mutiple dockers
   dockers:
     - image: ubuntu:18.04
       is_runtime: true
     - image: mysql:5.6
       environment:
         MYSQL_ROOT_PASSWORD: 12345
    script: |
      echo "mysql:5.6 ip = $CONTAINER_IP_1"
  • 插件系统:使用方式也很简单,不需要安装,只需在 YAML 配置中填入插件名称及所需的变量即可 - name: upload envs: artifact_path: "artifact/path/to/upload" plugin: 'artifact-upload'
  • 数据统计: 项目健康状态一目了然,内建任务统计图表,并支持自定义统计数据
statistic.gif
  • Web terminal: 项目在 CI 环境中出现奇怪的错误?可以使用提供的 web terminal 在线进入构建环境,进行调试
step_tty.gif

目前 flow.ci 支持的 Git 仓库有 GitHub, GitLab, Gitee & Gogs

更多内容请参考 文档说明 以及 构建模板

如果在使用中遇到任何问题或者 BUG ,请在 这里 反馈

今后 flow.ci 的功能开发主要会在如下几个方面:

  • 并行工作流,提高构建效率
  • 与 k8s 集成
  • 安全方面的提升
  • 支持 window agent
  • UI 持续优化

做简单,好用,功能强大的 CI 工具。

感谢支持 :)