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"
代码语言:txt复制steps
- name: run from host
script: |
echo "this script from host"
如果任务中需要比如 mysql 等服务,则可以配置多个 docker:
代码语言:txt复制 - 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'
- 数据统计: 项目健康状态一目了然,内建任务统计图表,并支持自定义统计数据
- Web terminal: 项目在 CI 环境中出现奇怪的错误?可以使用提供的 web terminal 在线进入构建环境,进行调试
目前 flow.ci 支持的 Git 仓库有 GitHub
, GitLab
, Gitee
& Gogs
更多内容请参考 文档说明 以及 构建模板
如果在使用中遇到任何问题或者 BUG ,请在 这里 反馈
今后 flow.ci 的功能开发主要会在如下几个方面:
- 并行工作流,提高构建效率
- 与 k8s 集成
- 安全方面的提升
- 支持 window agent
- UI 持续优化
做简单,好用,功能强大的 CI 工具。
感谢支持 :)