codecamp

Ansible 用 Roles 部署 LNMP 网页应用程式(上)

上一章「Ansible 怎么使用 Roles」我们探索了 Galaxy (银河),并学习了 Roles 的使用方法,接下来冻仁教大家如何用 Roles 部署 TestLink 这套相依于 LNMP 环境的网页应用程式。

LNMP = Linux + Nginx + MySQL + PHP

automate_with_ansible_practice-25.jpg

TestLink 是什么?

TestLink 是一套开源的测试管理软件。其部署的方法与 Drupal 和 Wordpress 等内容管理系统 (CMS) 相似,皆可使用 GNU/Linux + Web server + MySQL + PHP 环境进行安装。

2016-10-22-testlink-login-page

来自维基百科的解释:

TestLink,是一个用于管理测试过程并提供统计分析的开源软件。该软件发布于 sourceforge,并采用 Web 界面交互,可以进行自动化的测试用例运行,并将测试结果生成报表并归档。(more)

怎么选 Roles?

由于 Galaxy 上的 Roles 皆由社群成员所维护,故使用前冻仁会藉由以下几点来挑选合适的 Roles。

  1. 是否支持我们要用的作业系统 (OS)?
    • 若不支持请直接找下一个。
  2. 是否支持多个 OS 平台?
    • 通常支持多个 Linux 发行版本的 Roles 质量会比较好一些。
  3. 有无整合 Travis CI 进行测试?
    • 有整合 CI 就可以从 README 的 Badge 上看到建置的结果。
    • 绿色为成功;红色代表失败。
  4. 得到的星星数多不多?
    • 不是一定要找到很多星星才可以用,不过星星数越多代表被越多人认可。
  5. 下载数多不多?
    • 同第 4 点。
  6. 最后更新的时间点为何?
    • 有时会找到看起来似乎很棒,但距离上次更新已是一两年前,年久失修的状况。

在这里的范例里,冻仁挑选了以下三个同时支持 CentOS, Debian 和 Ubuntu 平台的 Roles。

以上,在这一章我们认识系统需求,也挑选了合适的 Roles,下章冻仁将带大家用 Roles 撰写强化版的 Playbooks。

相关连结

1. 冻仁第一次听到 TestLink 是在 2013 年的夏天, 那时接到主管指派在下帮某位女同事架站,才知道有那么一套专为管理测试导向的CMS。 ↩
2chusiang.php7 是冻仁从 itcraftsmanpl.php7 fork 出来,并加入支持 CentOS 6, 7 平台的 Role,同时也是冻仁第一个分享至 Galaxy 的 Role。 ↩


Ansible 怎么使用 Roles
Ansible 用 Roles 部署 LNMP 网页应用程式(下)
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }