怎麼用 Roles 部署 TestLink?
24. 怎麼用 Roles 部署 TestLink?
上一章「23. 怎麼用 Roles 部署 LNMP 網頁應用程式?(下)」我們用了 3 個 Roles 和自己寫的 Playbook 部署 Testlink 網頁應用程式,接下來凍仁會透過 Roles 展示最精簡的 Playbooks。

chusiang.testlink 是什麼?
chusiang.testlink 是部署 TestLink 1.9.15 到 Ubuntu 14.04 和 Debian 8 的 Role,並建置在 Nginx 1.10, PHP 7 和 MySQL 5.6 的環境上。
凍仁先前幫公司架設 TestLink 時,在 Ansible Galaxy 和 Chef Supermarket 上找不到現成 Roles 和 Cookbooks,索性就自己寫一個。

怎麼用 Roles 撰寫最精簡的 Playbooks?
看下去之前,可以先回顧上章,比比看兩者的差異。
使用 Vagrant 建立開發環境
建立 Vagrantfile 檔案。
從 Galaxy 下載 Roles
建立
requirements.yml,與上章相比多了chusiang.testlinkrole。
藉由
requirements.yml下載多個 Roles。
撰寫 Playbooks
為便於解說,凍仁將於以下範例加上行號,其原始檔可在 lab/ch24/testlink/setup.yml 取得。
在第 8-12 行裡,載入了 Nginx, MySQL, PHP 和 TestLink 的 Roles。
第 23 行之後的兩個 tasks 是可省略的,這裡只是為了驗證部署狀態而使用。
精簡版的 TestLink Playbooks 檔案結構
把 Playbooks 都封裝成 Roles 之後,可明顯看出整體的檔案結構比上章簡潔許多。
執行 Playbooks
啟用虛擬機並執行 Playbook。

執行完畢後,開啟瀏覽器 (Browsers) 並進入 TestLink 網站 (http://192.168.33.10),其帳號密碼皆為
admin。

以上,這次我們只需維護 ansible.cfg, hosts, requirements.yml 和 setup.yml,剩下就交給 Roles 吧!
後語
在完成這篇文章的同時,凍仁也順手修了一下 chusiang.testlink role 的小小 bug。相信當越多人分享 Roles 到 Galaxy 後,我們可以減少重複性質的工作,並把時間和精力留在更重要的事情上。
相關連結
Last updated
Was this helpful?