bbatsche.Ruby
Ansible Ruby Site Rolle
Diese Rolle installiert Rbenv und verwendet es, um eine bestimmte Version von Ruby zu installieren. Sie erstellt eine Nginx-Website, die Ruby über Phusion Passenger ausführt.
Voraussetzungen
Um Rbenv zu installieren, muss Git auf dem Server installiert sein. Aber das hast du wahrscheinlich schon gemacht, oder?
Diese Rolle nutzt die ACLs des Linux-Dateisystems und eine Gruppe namens "web-admin", um den Zugriff auf bestimmte Verzeichnisse zu gewähren. Du kannst diese Schritte entweder manuell konfigurieren oder die Rolle bbatsche.Base
installieren.
Rollenvariablen
domain
— Zu erstellende Domain der Seite.ruby_version
— Zu installierende Ruby-Version. Standard ist "2.3.1".rbenv_version
— Zu installierende Rbenv-Version. Standard ist "v1.0.0".ruby_build_version
— Zu installierende Version des ruby-build-Plugins. Standard ist "v20160426".default_gems_version
— Zu installierende Version des default-gems-Plugins. Standard ist ein Git SHA: "4f68eae".rbenv_vars_version
— Zu installierende Version des rbenv-vars-Plugins. Standard ist "v1.2.0".binstubs_version
— Zu installierende Version des binstubs-Plugins. Standard ist "v1.4".copy_configru
— Ob eine stub config.ru-Datei zur Seite kopiert werden soll, nützlich für Tests. Standard ist "nein".http_root
— Verzeichnis, unter dem alle Site-Verzeichnisse erstellt werden. Standard ist "/srv/http".rbenv_root
— Verzeichnis zur Installation von Rbenv und seinen Unterstützungsdateien. Standard ist "/usr/local/rbenv".
Abhängigkeiten
Diese Rolle hängt von bbatsche.Nginx ab. Du musst diese Rolle zuerst mit folgendem Befehl installieren:
ansible-galaxy install bbatsche.Nginx
Beispiel-Playbook
- hosts: servers
roles:
- { role: bbatsche.Ruby, domain: my-node-site.dev }
Lizenz
MIT
Tests
Mit dieser Rolle ist ein Set von Spezifikationen zum Testen jeder Aufgabe einzeln oder insgesamt enthalten. Um diese Tests auszuführen, musst du zuerst Vagrant und VirtualBox installiert haben. Die Spezifikationsdateien sind mit Serverspec geschrieben, daher benötigst du Ruby und Bundler.
Um die komplette Suite von Spezifikationen auszuführen:
$ gem install bundler
$ bundle install
$ rake
Die Spezifikationssuite wird für Ubuntu Trusty Tahr (14.04), Xenial Xerus (16.04) und Bionic Beaver (18.04) getestet.
Um die verfügbaren Rake-Tasks (und Spezifikationen) anzuzeigen:
$ rake -T
Diese Spezifikationen sind nicht dazu gedacht, die Idempotenz zu testen. Sie sollen sicherstellen, dass die angegebenen Aufgaben ihre erwarteten Schritte ausführen. Die Idempotenz wird unabhängig durch Integrationstests überprüft.