bbatsche.Ruby
Ansible Ruby网站角色
该角色将安装Rbenv,并使用它安装指定版本的Ruby。同时,它还会创建一个通过Phusion Passenger运行Ruby的Nginx网站。
需求
安装Rbenv需要在服务器上安装Git。当然,你已经完成了这个步骤,对吧?
该角色利用Linux文件系统的ACL和一个名为“web-admin”的组来授予对特定目录的访问权限。你可以手动配置这些步骤,也可以安装 bbatsche.Base
角色。
角色变量
domain
— 要创建的网站域名。ruby_version
— 要安装的Ruby版本。默认是 "2.3.1"rbenv_version
— 要安装的Rbenv版本。默认是 "v1.0.0"ruby_build_version
— 要安装的ruby-build插件的版本。默认是 "v20160426"default_gems_version
— 要安装的default-gems插件版本。默认是一个Git SHA: "4f68eae"rbenv_vars_version
— 要安装的rbenv-vars插件版本。默认是 "v1.2.0"binstubs_version
— 要安装的binstubs插件版本。默认是 "v1.4"copy_configru
— 是否将stub config.ru文件复制到网站,方便测试。默认是否。http_root
— 所有网站目录将被创建的目录。默认是 "/srv/http"。rbenv_root
— 安装Rbenv及其支持文件的目录。默认是 "/usr/local/rbenv"
依赖
该角色依赖于bbatsche.Nginx。你必须先安装该角色,方法是:
ansible-galaxy install bbatsche.Nginx
示例剧本
- hosts: servers
roles:
- { role: bbatsche.Ruby, domain: my-node-site.dev }
许可证
MIT
测试
该角色包含了一组用于单独或整体测试每个任务的规范。要运行这些测试,你首先需要安装Vagrant和VirtualBox。规范文件是使用Serverspec编写的,因此你需要Ruby和Bundler。
要运行完整的规范套件:
$ gem install bundler
$ bundle install
$ rake
规范套件将针对Ubuntu Trusty Tahr (14.04),Xenial Xerus (16.04)和Bionic Beaver (18.04)。
要查看可用的rake任务(和规范):
$ rake -T
这些规范不用于测试幂等性。它们用于检查指定的任务是否执行了预期的步骤。幂等性通过集成测试来独立验证。