目錄

CI 工具大亂鬥

三十天也快結束了,大家對 CI 已經有更深的了解了。今天開始會講 CI 工具,有了概念後再開始實作,相信會做得更有樣子。

CI server 主要的目的是隨時待命,只要程式碼有新的提交,它就會開始忙著測東測西,最後會跟你說本次提交是成功還是失敗。歷史記錄是必要的,報表和 Artifacts 通常也都會幫你收集起來備存。

目前常見的 CI server 實作如下:

未來幾天會講的實作與比較如下:

比較DapperTravis CICircle CIGitLab CIPipelines
服務類型LocalSaaSSaaSSaaS / On-premiseSaaS
價格FreeFree / EnterpriseFree / PricingFree / On-premiseFree / Pricing
支援私有專案N/AYes (Enterprise)YesYesYes
支援的版控系統N/AGitHubGitHub / BitbucketGitLabBitbucket
測試執行環境Build ImmediatelyUbuntu 12.04 / 14.04Ubuntu 12.04 / 14.04Docker / On-premiseDocker
設定檔格式Dockerfile + script.travis.ymlcircle.yml.gitlab-ci.ymlbitbucket-pipelines.yml
支援 DockerN/A支援支援使用 DinD
特殊技能Local 執行多組環境定義與測試Artifacts 代管彈性的 Pipeline 定義支援 Mercurial

選擇講這幾家,主要當然是因為比較熟。另一個原因是,它們都有一些免費的方案可以選擇,而且可以快速跟常見的版控串接,並立即看到結果。


今天稍微休息一下,明天開始將會介紹如何使用這些工具。