bbatsche.Python
Rôle Ansible Python Site
Ce rôle créera un site dans Nginx pour exécuter des applications écrites en Python. Il prend en charge Python 2 ou 3.
Exigences
Ce rôle utilise les ACLs du système de fichiers Linux et un groupe appelé "web-admin" pour accorder l'accès à certains répertoires. Vous pouvez soit configurer ces étapes manuellement, soit installer le rôle bbatsche.Base
.
Variables du Rôle
domain
— Domaine du site à créer.python_version
— Version de Python à utiliser avec ce site. Par défaut, c'est "3".env_name
— Indique si ce serveur est un serveur "développement", "production" ou autre type. Les serveurs de développement utiliseront les binaires et les packages Python globaux, les autres types utiliseront une configuration virtualenv dans le répertoire du site. Par défaut, c'est "dev".copy_wsgi
— Indique s'il faut copier un fichier stub passenger_wsgi.py vers le site, utile pour les tests. Par défaut, non.http_root
— Répertoire sous lequel tous les répertoires du site seront créés. Par défaut, c'est "/srv/http".nginx_configs
— Fichiers de configuration supplémentaires à ajouter à la fin du blocserver
du domaine. Ces fichiers doivent être copiés dans/etc/nginx/conf.d
. Par défaut, c'est la configuration Python du domaine :[ python-{{ domain }}.conf ]
.
Dépendances
Ce rôle dépend de bbatsche.Nginx. Vous devez d'abord installer ce rôle en utilisant :
ansible-galaxy install bbatsche.Nginx
Exemple de Playbook
- hosts: servers
roles:
- { role: bbatsche.Python, domain: mon-site-python.dev }
Licence
MIT
Tests
Inclus avec ce rôle, il y a 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 avec Serverspec, donc vous aurez besoin de Ruby et de Bundler.
Pour exécuter l'ensemble des spécifications :
$ gem install bundler
$ bundle install
$ rake
La suite de 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.
Create an Nginx site running either Python 2.7 or 3.4 through Phusion Passenger
ansible-galaxy install bbatsche.Python