建立 PHPConf 2016 自動化與持續整合實作工作坊 的實作環境 (Local VM)

這次受邀擔任 PHPConf 2016 的工作坊講師,負責一場「自動化與持續整合」的實作工作坊,因為希望工作坊的過程中能將網路與實作環境的問題減少到最少,所以事先預備了 Local VM 提供參與者事先安裝設置。 此文即是紀錄這個 Loacl VM 是如何建立的。 (2017/8/5 註記:此文的一些資訊已經過期,你也知道工具是會不斷更新的。) 環境描述 因為考慮到不是每個人都會有頂規的電腦設備,同時也為了方便設置,因此在 Local VM 的規劃上,不打算實際建立多台 VM,而是以單一 VM 並在其中透過多個 docker container 的方式來模擬多 VM 的情況。 我們會需要用到下面四個 Server: CI Server:這次工作坊會以 GitLab 作為主要的 CI Server。 CI Worker:即是 GitLab Runner。 Web Server:標準的 Nginx + Php-fpm,而且要開放可以 SSH Login。 Selenium Server:測試案例中會用到 Selenium。 基於以上四項都要放在同一台 虛擬 VM 裡,並用多個 Container 來實現,在經過實驗之後建議運行此 VM 的電腦或筆電(host機)至少需要: 超過 2GB 的記憶體。因為 GitLab 與 Selenium 都滿吃 Ram,因此分配給 VM 的 Ram 至少要 2GB, 預留 10 ~ 20 GB 硬碟空間。因為運行 Docker 環境其實也滿吃硬碟空間的,硬碟空間能留越多是越好啦! VM 與 host 機將對映幾個 port 分別是 80、2222、10122、10180 為了簡化環境建置的難度,作為此 VM 的 OS 我們即選用 ubuntu 14....

October 28, 2016 · Cheng Wei Chen