bbatsche.Ruby
Rol de Sitio Ruby de Ansible
Este rol instalará Rbenv y usará eso para instalar una versión específica de Ruby. Creará un sitio Nginx que ejecuta Ruby a través de Phusion Passenger.
Requisitos
La instalación de Rbenv requiere que Git esté instalado en el servidor. Pero, por supuesto, ya lo hiciste, ¿verdad?
Este rol aprovecha los ACLs del sistema de archivos de Linux y un grupo llamado "web-admin" para otorgar acceso a directorios específicos. Puedes configurar esos pasos manualmente o instalar el rol bbatsche.Base
.
Variables del Rol
domain
— Dominio del sitio que se creará.ruby_version
— Versión de Ruby a instalar. El valor predeterminado es "2.3.1".rbenv_version
— Versión de Rbenv a instalar. El valor predeterminado es "v1.0.0".ruby_build_version
— Versión del complemento ruby-build a instalar. El valor predeterminado es "v20160426".default_gems_version
— Versión del complemento default-gems a instalar. El valor predeterminado es un SHA de Git: "4f68eae".rbenv_vars_version
— Versión del complemento rbenv-vars a instalar. El valor predeterminado es "v1.2.0".binstubs_version
— Versión del complemento binstubs a instalar. El valor predeterminado es "v1.4".copy_configru
— Si se debe copiar un archivo stub config.ru al sitio, útil para pruebas. El valor predeterminado es no.http_root
— Directorio bajo el cual se crearán todos los directorios del sitio. El valor predeterminado es "/srv/http".rbenv_root
— Directorio para instalar Rbenv y sus archivos de soporte. El valor predeterminado es "/usr/local/rbenv".
Dependencias
Este rol depende de bbatsche.Nginx. Debes instalar ese rol primero usando:
ansible-galaxy install bbatsche.Nginx
Ejemplo de Playbook
- hosts: servers
roles:
- { role: bbatsche.Ruby, domain: my-node-site.dev }
Licencia
MIT
Pruebas
Incluido con este rol hay un conjunto de especificaciones para probar cada tarea individualmente o en su conjunto. Para ejecutar estas pruebas, primero necesitarás tener Vagrant y VirtualBox instalados. Los archivos de especificaciones están escritos usando Serverspec, por lo que necesitarás Ruby y Bundler.
Para ejecutar todo el conjunto de especificaciones:
$ gem install bundler
$ bundle install
$ rake
El conjunto de especificaciones estará dirigido a Ubuntu Trusty Tahr (14.04), Xenial Xerus (16.04) y Bionic Beaver (18.04).
Para ver las tareas de rake disponibles (y las especificaciones):
$ rake -T
Estas especificaciones no están destinadas a probar la idempotencia. Están diseñadas para verificar que las tareas especificadas realicen sus pasos esperados. La idempotencia se prueba de forma independiente a través de pruebas de integración.
Install Rbenv, Ruby, and create an Nginx site running it through Phusion Passenger
ansible-galaxy install bbatsche.Ruby