bbatsche.Python

Ansible Python Site Role

Status budowy Licencja Nazwa Roli Wersja Wydania Pobrania

Ta rola utworzy witrynę w Nginx do uruchamiania aplikacji napisanych w Pythonie. Obsługuje zarówno Pythona 2, jak i 3.

Wymagania

Ta rola korzysta z ACL w systemie plików Linux oraz grupy 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ę witryny, która ma zostać utworzona.
  • python_version — Wersja Pythona do użycia w tej witrynie. Domyślnie "3".
  • env_name — Typ serwera: "development" (deweloperski), "production" (produkcyjny) lub inny. Serwery deweloperskie będą korzystały z globalnych binari i pakietów Pythona, inne typy użyją ustawienia virtualenv w katalogu witryny. Domyślnie "dev".
  • copy_wsgi — Czy skopiować plik wzorcowy passenger_wsgi.py do witryny, przydatne do testowania. Domyślnie nie.
  • http_root — Katalog, w którym będą tworzone wszystkie katalogi witryny. Domyślnie "/srv/http".
  • nginx_configs — Dodatkowe pliki konfiguracyjne do dodania na końcu bloku server domeny. Te pliki powinny być skopiowane do /etc/nginx/conf.d. Domyślnie konfiguracyjny plik Pythona dla domeny: [ python-{{ domain }}.conf ].

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: servers
  roles:
     - { role: bbatsche.Python, domain: my-python-site.dev }

Licencja

MIT

Testowanie

W tej roli znajduje się zestaw specyfikacji do testowania każdego zadania indywidualnie lub jako całość. Aby uruchomić te testy, musisz mieć zainstalowane Vagrant i VirtualBox. Pliki specyfikacji są napisane przy użyciu Serverspec, więc będziesz potrzebować Ruby oraz Bundlera.

Aby uruchomić cały 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 są przeznaczone do testowania idempotencji. Służą do sprawdzania, czy określone zadania wykonują oczekiwane kroki. Idempotencję testuje się niezależnie poprzez testy integracyjne.

O projekcie

Create an Nginx site running either Python 2.7 or 3.4 through Phusion Passenger

Zainstaluj
ansible-galaxy install bbatsche.Python
Licencja
mit
Pobrania
125
Właściciel