bbatsche.Ruby
Rôle Ansible Ruby Site
Ce rôle va installer Rbenv et utiliser cela pour installer une version donnée de Ruby. Il va créer un site Nginx qui exécute Ruby via Phusion Passenger.
Exigences
L'installation de Rbenv nécessite que Git soit installé sur le serveur. Mais bien sûr, vous l'avez déjà fait, n'est-ce pas ?
Ce rôle utilise les ACL du système de fichiers Linux et un groupe appelé "web-admin" pour accorder l'accès à des répertoires particuliers. Vous pouvez configurer ces étapes manuellement ou installer le rôle bbatsche.Base
.
Variables du Rôle
domain
— Domaine du site à créer.ruby_version
— Version de Ruby à installer. Par défaut "2.3.1"rbenv_version
— Version de Rbenv à installer. Par défaut "v1.0.0"ruby_build_version
— Version du plugin ruby-build à installer. Par défaut "v20160426"default_gems_version
— Version du plugin default-gems à installer. Par défaut un Git SHA : "4f68eae"rbenv_vars_version
— Version du plugin rbenv-vars à installer. Par défaut "v1.2.0"binstubs_version
— Version du plugin binstubs à installer. Par défaut "v1.4"copy_configru
— Si oui ou non copier un fichier stub config.ru sur le site, utile pour les tests. Par défaut nonhttp_root
— Répertoire sous lequel tous les répertoires du site seront créés. Par défaut "/srv/http".rbenv_root
— Répertoire pour installer Rbenv et ses fichiers de support. Par défaut "/usr/local/rbenv"
Dépendances
Ce rôle dépend de bbatsche.Nginx. Vous devez installer ce rôle en premier :
ansible-galaxy install bbatsche.Nginx
Exemple de Playbook
- hosts: servers
roles:
- { role: bbatsche.Ruby, domain: my-node-site.dev }
Licence
MIT
Tests
Inclus avec ce rôle est un ensemble de spécifications pour tester chaque tâche individuellement ou dans son ensemble. Pour exécuter ces tests, vous devez d'abord avoir Vagrant et VirtualBox installés. Les fichiers de spécification sont écrits en utilisant Serverspec, donc vous aurez besoin de Ruby et Bundler.
Pour exécuter l'ensemble des spécifications :
$ gem install bundler
$ bundle install
$ rake
L'ensemble des spécifications ciblera Ubuntu Trusty Tahr (14.04), Xenial Xerus (16.04) et Bionic Beaver (18.04).
Pour voir les tâches rake disponibles (et les spécifications) :
$ rake -T
Ces spécifications ne sont pas destinées à tester l'idempotence. Elles visent à vérifier que les tâches spécifiées effectuent leurs étapes attendues. L'idempotence est testée indépendamment via des tests d'intégration.
Install Rbenv, Ruby, and create an Nginx site running it through Phusion Passenger
ansible-galaxy install bbatsche.Ruby