1. 程式人生 > >新一代 CI 持續整合工具 flow.ci 正式開源

新一代 CI 持續整合工具 flow.ci 正式開源

很高興地宣佈 flow.ci 在 Apache-2.0 協議下正式開源了。flow.ci 是國內首套開源持續整合(CI) 解決方案,幫助企業團隊實現開發流程(build-test-deploy)自動化,快速持續交付高質量軟體。

以此,你可以將功能完整的 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.
image

幾行指令碼,極速上傳 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

image

新設計 UI/UE,只為簡單高效

在「產品功能」和「流程介面」上,flow.ci 擁有全新的 UI/UE,使用上更加簡單高效。

1.一個介面,聚合常用功能,全面把控構建任務
  • 可快速搜尋、建立、切換 Flow
  • 檢視 Agent 構建狀態
  • 檢視構建歷史記錄
  • 檢視構建詳情(日誌)

image

2.管理員控制檯可輕鬆管理所有配置

這些配置包括,Flow 管理、Agent 管理、成員管理、證書管理、訊息通知管理、外掛管理等等。
image

全新技術棧,保證高效穩定構建

flow.ci 開源版採用了全新的技術棧,更看重「構建效率」「高可用」「擴充套件性」。

  • 基於 Java 語言編寫,在效率、效能、穩定性、跨平臺有著很好的平衡性
  • 採用 ZooKeeper 分散式服務框架 ,排程 Agent 任務更佳靈活
  • 支援 Docker 一鍵部署,簡化部署流程
  • 使用 React.js 前端框架,效能優越
    image

強大靈活的外掛系統

flow.ci 的每個 flow 由外掛和觸發器構成,根據不同的語言和環境提供對應的豐富的外掛,更加靈活。

  • 完全視覺化的外掛操作
  • 外掛樣式可自定義
  • 更佳適應指令碼愛好者

image

P.S.更多的外掛,正在準備中…

flow.ci Roadmap

未來 flow.ci 將上線以下功能:

  • 外掛系統,支援自定義指令碼/ 自定義CSS
  • Pipeline,多 Job 串並聯與容器雲平臺整合
  • 產物儲存,統一管理歷史存檔
  • 資料統計分析,構建成功率分析並形成報表等
  • 日誌分析,精準定位構建失敗的原因
  • 與 IDE 整合
  • ……

image
以上功能已加入 flow.ci Roadmap,如果你有其他功能需求請在 github 提 issues,或通過 pull request 的方式參與 flow.ci 迭代開發。

結語

我們希望通過 flow.ci 的開源,能夠惠及更多的企業級開發者,讓他們不再因為配置複雜度而對 CI 產生畏懼;同時希望聚集社群力量,做符合國情的、好用的 CI 工具。

感謝支援 :)

flow.ci 團隊