bbatsche.Ruby
Ansible Ruby Site Role
Ta rola zainstaluje Rbenv i użyje go do zainstalowania określonej wersji Ruby. Stworzy również stronę Nginx, która uruchamia Ruby za pomocą Phusion Passenger.
Wymagania
Instalacja Rbenv wymaga zainstalowanego Gita na serwerze. Ale oczywiście, już to zrobiłeś, prawda?
Ta rola wykorzystuje listy ACL w systemie plików Linux oraz grupę o nazwie "web-admin" do przyznawania dostępu do określonych katalogów. Możesz skonfigurować te kroki ręcznie lub zainstalować rolę bbatsche.Base
.
Zmienne roli
domain
— Domenę strony do utworzenia.ruby_version
— Wersja Ruby do zainstalowania. Domyślnie "2.3.1"rbenv_version
— Wersja Rbenv do zainstalowania. Domyślnie "v1.0.0"ruby_build_version
— Wersja wtyczki ruby-build do zainstalowania. Domyślnie "v20160426"default_gems_version
— Wersja wtyczki default-gems do zainstalowania. Domyślnie to Git SHA: "4f68eae"rbenv_vars_version
— Wersja wtyczki rbenv-vars do zainstalowania. Domyślnie "v1.2.0"binstubs_version
— Wersja wtyczki binstubs do zainstalowania. Domyślnie "v1.4"copy_configru
— Czy skopiować plik konfiguracyjny stub config.ru do strony, przydatne do testowania. Domyślnie niehttp_root
— Katalog, w którym będą tworzone wszystkie katalogi strony. Domyślnie "/srv/http".rbenv_root
— Katalog do instalacji Rbenv i jego plików pomocniczych. Domyślnie "/usr/local/rbenv"
Zależności
Ta rola zależy od bbatsche.Nginx. Musisz najpierw zainstalować tę rolę, używając:
ansible-galaxy install bbatsche.Nginx
Przykładowy playbook
- hosts: serwery
roles:
- { role: bbatsche.Ruby, domain: my-node-site.dev }
Licencja
MIT
Testowanie
W zestawie tej roli znajdują się specyfikacje do testowania każdego zadania indywidualnie lub jako całości. Aby uruchomić te testy, musisz najpierw mieć zainstalowane Vagrant i VirtualBox. Pliki spec są napisane przy użyciu Serverspec, więc potrzebujesz Ruby i Bundler.
Aby uruchomić pełny zestaw specyfikacji:
$ gem install bundler
$ bundle install
$ rake
Zestaw specyfikacji będzie testować Ubuntu Trusty Tahr (14.04), Xenial Xerus (16.04) i Bionic Beaver (18.04).
Aby zobaczyć dostępne zadania rake (i specyfikacje):
$ rake -T
Te specyfikacje nie mają na celu testowania idempotencji. Mają na celu sprawdzenie, czy określone zadania wykonują przewidziane kroki. Idempotencję testuje się niezależnie w ramach testów integracyjnych.
Install Rbenv, Ruby, and create an Nginx site running it through Phusion Passenger
ansible-galaxy install bbatsche.Ruby