很高興地宣布 flow.ci 在 Apache-2.0 協(xié)議下正式開源了。flow.ci 是國內(nèi)首套開源持續(xù)集成(CI) 解決方案,幫助企業(yè)團(tuán)隊(duì)實(shí)現(xiàn)開發(fā)流程(build-test-deploy)自動化,快速持續(xù)交付高質(zhì)量軟件。
官方網(wǎng)站:https://flow.ci
開源地址:https://github.com/flowci
以此,你可以將功能完整的 flow.ci 持續(xù)集成服務(wù)部署到內(nèi)網(wǎng)使用。在使用過程中有任何 bug 反饋或功能建議,可直接在 github 提 issues,或者通過 pull request 貢獻(xiàn)代碼。
關(guān)于 flow.ci 新特性
支持 Docker 一鍵部署,分分鐘創(chuàng)建一套CI系統(tǒng)
flow.ci 在 Docker Hub 上提供了最新的鏡像,用戶可以方便地獲取 Docker 鏡像,快速啟動 Agent.具體文檔請查看 FlowCI/docker.
支持 YML 配置文件,快速創(chuàng)建工作流
flow.ci 支持通過配置 yml 方式創(chuàng)建工作流,我們提供了iOS & Android 項(xiàng)目的 yml 模板,用戶可自行調(diào)整配置 Agent 工作環(huán)境&參數(shù),構(gòu)建環(huán)境&參數(shù)等,具體可參考文檔:FlowCI/templates.

幾行腳本,極速上傳 fir.im
在 yml 工作流中配置以下腳本(基于Docker),可一步生成 fir.im 應(yīng)用短鏈接,快速進(jìn)行應(yīng)用內(nèi)測。
- name: fir_publish
script: |
array=$(find ${IOS_IPA_DIR} -name *.ipa 2>&1)
for file in ${array[@]}
do
fir publish $file
done

新設(shè)計(jì) UI/UE,只為簡單高效
在「產(chǎn)品功能」和「流程界面」上,flow.ci 擁有全新的 UI/UE,使用上更加簡單高效。
1.一個界面,聚合常用功能,全面把控構(gòu)建任務(wù)
- 可快速搜索、創(chuàng)建、切換 Flow
- 查看 Agent 構(gòu)建狀態(tài)
- 查看構(gòu)建歷史記錄
- 查看構(gòu)建詳情(日志)

2.管理員控制臺可輕松管理所有配置
這些配置包括,F(xiàn)low 管理、Agent 管理、成員管理、證書管理、消息通知管理、插件管理等等。

全新技術(shù)棧,保證高效穩(wěn)定構(gòu)建
flow.ci 開源版采用了全新的技術(shù)棧,更看重「構(gòu)建效率」「高可用」「擴(kuò)展性」。
- 基于 Java 語言編寫,在效率、性能、穩(wěn)定性、跨平臺有著很好的平衡性
- 采用 ZooKeeper 分布式服務(wù)框架 ,調(diào)度 Agent 任務(wù)更佳靈活
- 支持 Docker 一鍵部署,簡化部署流程
-
使用 React.js 前端框架,性能優(yōu)越
image
強(qiáng)大靈活的插件系統(tǒng)
flow.ci 的每個 flow 由插件和觸發(fā)器構(gòu)成,根據(jù)不同的語言和環(huán)境提供對應(yīng)的豐富的插件,更加靈活。
- 完全可視化的插件操作
- 插件樣式可自定義
- 更佳適應(yīng)腳本愛好者

P.S.更多的插件,正在準(zhǔn)備中…
flow.ci Roadmap
未來 flow.ci 將上線以下功能:
- 插件系統(tǒng),支持自定義腳本/ 自定義CSS
- Pipeline,多 Job 串并聯(lián)與容器云平臺集成
- 產(chǎn)物存儲,統(tǒng)一管理歷史存檔
- 數(shù)據(jù)統(tǒng)計(jì)分析,構(gòu)建成功率分析并形成報(bào)表等
- 日志分析,精準(zhǔn)定位構(gòu)建失敗的原因
- 與 IDE 集成
- ……

以上功能已加入 flow.ci Roadmap,如果你有其他功能需求請?jiān)?github 提 issues,或通過 pull request 的方式參與 flow.ci 迭代開發(fā)。
結(jié)語
我們希望通過 flow.ci 的開源,能夠惠及更多的企業(yè)級開發(fā)者,讓他們不再因?yàn)榕渲脧?fù)雜度而對 CI 產(chǎn)生畏懼;同時希望聚集社區(qū)力量,做符合國情的、好用的 CI 工具。
感謝支持 :)
--
flow.ci 團(tuán)隊(duì)
