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

這次受邀擔任 PHPConf 2016 的工作坊講師,負責一場「自動化與持續整合」的實作工作坊,除了有事先預備了 Local VM 提供參與者事先安裝設置之外,要特別感謝微軟贊助本工作坊,每位學員都會擁有一組 Azure Pass 一個月內有限額的 Azure 試用,讓學員可以直接在 Azure 上建立工作坊的實作環境。 此文即是紀錄在 Azure 上要如何建立實作環境。 (2017/8/5 註記:此文的一些資訊已經過期,你也知道工具是會不斷更新的。) 環境描述 再重複一次我們會需要用到下面四種 Server: CI Server:這次工作坊會以 GitLab 作為主要的 CI Server。 CI Worker:即是 GitLab Runner。 Web Server:標準的 Nginx + Php-fpm,而且要開放可以 SSH Login。 Selenium Server:測試案例中會用到 Selenium。 在 Azure 上,其實有各種方式可以組合出實作環境,但既然我們有 Azure 免費試用,當然可以選一種相對簡單,但又很奢侈的建置方式,即是「建立多台 VM 並安裝好 Docker,讓每台 VM 都只用 Docker 建立 1~2 種 Service。」 如此一來由多台 VM 各自負擔工作,不用擔心資源不足,也不用煩惱 IP 的問題。 所以讓我們再次感謝微軟的大力贊助! 不過我想 Azure 專家們應該會跳出來說,Azure 明明就有很多好作法,所以我只好維持一樣的回答,此文不是 Azure 教學文啊,只是想用最簡單的方式建構出本次工作坊的實作環境,就請專家們睜一隻眼閉一隻眼嘍。...

October 28, 2016 · Cheng Wei Chen

建立 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