bbatsche.Python

Ansible Python Site Rolle

Build Status Lizenz Rollenname Versionsrelease Downloads

Diese Rolle erstellt eine Seite in Nginx zum Ausführen von Anwendungen, die in Python geschrieben sind. Sie unterstützt sowohl Python 2 als auch 3.

Anforderungen

Diese Rolle nutzt die Linux-Dateisystem-ACLs und eine Gruppe namens "web-admin", um den Zugriff auf bestimmte Verzeichnisse zu gewähren. Sie können diese Schritte entweder manuell konfigurieren oder die Rolle bbatsche.Base installieren.

Rollenvariablen

  • domain — Domain der zu erstellenden Seite.
  • python_version — Python-Version, die für diese Seite verwendet werden soll. Standard ist "3".
  • env_name — Ob dieser Server ein "Entwicklungs-", "Produktions-" oder ein anderer Typ von Server ist. Entwicklungsserver verwenden die globalen Python-Binärdateien und -Pakete, andere Typen verwenden eine virtualenv-Einrichtung im Verzeichnis der Seite. Der Standardwert ist "dev".
  • copy_wsgi — Ob eine stub passenger_wsgi.py-Datei in die Seite kopiert werden soll, nützlich für Tests. Standard ist nein.
  • http_root — Verzeichnis, in dem alle Verzeichnis für die Seite erstellt werden. Standard ist "/srv/http".
  • nginx_configs — Zusätzliche Konfigurationsdateien, die am Ende des server-Blocks der Domain hinzugefügt werden. Diese Dateien sollten nach /etc/nginx/conf.d kopiert werden. Der Standardwert ist die Python-Konfiguration der Domain: [ python-{{ domain }}.conf ].

Abhängigkeiten

Diese Rolle hängt von bbatsche.Nginx ab. Sie müssen diese Rolle zuerst mit folgendem Befehl installieren:

ansible-galaxy install bbatsche.Nginx

Beispiel-Playbook

- hosts: servers
  roles:
     - { role: bbatsche.Python, domain: my-python-site.dev }

Lizenz

MIT

Testing

In dieser Rolle ist eine Sammlung von Spezifikationen enthalten, um jede Aufgabe einzeln oder insgesamt zu testen. Um diese Tests auszuführen, müssen Sie zuerst Vagrant und VirtualBox installiert haben. Die Spezifikationsdateien sind mit Serverspec geschrieben, daher benötigen Sie Ruby und Bundler.

Um die vollständige Reihe von Spezifikationen auszuführen:

$ gem install bundler
$ bundle install
$ rake

Die Spezifikationsreihe wird Ubuntu Trusty Tahr (14.04), Xenial Xerus (16.04) und Bionic Beavers (18.04) testen.

Um die verfügbaren Rake-Aufgaben (und Specs) anzuzeigen:

$ rake -T

Diese Spezifikationen sind nicht dazu gedacht, die Idempotenz zu testen. Sie sollen überprüfen, ob die angegebenen Aufgaben ihre erwarteten Schritte ausführen. Die Idempotenz wird unabhängig durch Integrationstests getestet.

Über das Projekt

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

Installieren
ansible-galaxy install bbatsche.Python
GitHub Repository
Lizenz
mit
Downloads
125
Besitzer