bbatsche.Python

Rôle Ansible Python Site

État de la construction Licence Nom du Rôle Version de Publication Téléchargements

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 bloc server 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.

À propos du projet

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

Installer
ansible-galaxy install bbatsche.Python
Licence
mit
Téléchargements
125
Propriétaire