bbatsche.Python
Rol de Sitio de Python Ansible
Este rol creará un sitio en Nginx para ejecutar aplicaciones escritas en Python. Es compatible con Python 2 o 3.
Requisitos
Este rol aprovecha las ACL de sistema de archivos de Linux y un grupo llamado "web-admin" para otorgar acceso a directorios específicos. Puedes configurar estos pasos manualmente o instalar el rol bbatsche.Base
.
Variables del Rol
domain
— Dominio del sitio a crear.python_version
— Versión de Python que se utilizará con este sitio. El valor predeterminado es "3".env_name
— Representa si este servidor es "desarrollo", "producción" u otro tipo de servidor. Los servidores de desarrollo usarán los binarios y paquetes de Python globales, otros tipos usarán una configuración de virtualenv en el directorio del sitio. El valor predeterminado es "dev".copy_wsgi
— Indica si se debe copiar un archivo stub passenger_wsgi.py al sitio, útil para pruebas. El valor predeterminado es no.http_root
— Directorio bajo el cual se crearán todos los directorios del sitio. El valor predeterminado es "/srv/http".nginx_configs
— Archivos de configuración adicionales para agregar al final del bloqueserver
del dominio. Estos archivos deben ser copiados a/etc/nginx/conf.d
. El valor predeterminado es la configuración de Python del dominio:[ python-{{ domain }}.conf ]
.
Dependencias
Este rol depende de bbatsche.Nginx. Debes instalar ese rol primero usando:
ansible-galaxy install bbatsche.Nginx
Ejemplo de Playbook
- hosts: servers
roles:
- { role: bbatsche.Python, domain: my-python-site.dev }
Licencia
MIT
Pruebas
Se incluye con este rol un conjunto de especificaciones para probar cada tarea individualmente o como un todo. Para ejecutar estas pruebas, primero necesitarás tener Vagrant y VirtualBox instalados. Los archivos de especificaciones están escritos usando Serverspec, por lo que necesitarás Ruby y Bundler.
Para ejecutar todo el conjunto de especificaciones:
$ gem install bundler
$ bundle install
$ rake
El conjunto de especificaciones estará dirigido a Ubuntu Trusty Tahr (14.04), Xenial Xerus (16.04) y Bionic Beaver (18.04).
Para ver las tareas de rake disponibles (y especificaciones):
$ rake -T
Estas especificaciones no están destinadas a probar la idempotencia. Están diseñadas para verificar que las tareas especificadas realicen sus pasos esperados. La idempotencia se prueba independientemente a través de pruebas de integración.
Create an Nginx site running either Python 2.7 or 3.4 through Phusion Passenger
ansible-galaxy install bbatsche.Python