bbatsche.Python
Ansible Python 网站角色
此角色将为运行 Python 编写的应用程序创建 Nginx 网站。支持 Python 2 或 3。
要求
此角色利用 Linux 文件系统 ACL 以及一个名为“web-admin”的组来授予对特定目录的访问权限。您可以手动配置这些步骤,或安装 bbatsche.Base
角色。
角色变量
domain
— 要创建的网站域名。python_version
— 与此网站一起使用的 Python 版本。默认是 "3"env_name
— 此服务器是“开发”、“生产”还是其他类型的服务器。开发服务器将使用全局 Python 二进制文件和包,其他类型将使用在网站目录中的 virtualenv 设置。默认是 "dev"copy_wsgi
— 是否将 stubs passenger_wsgi.py 文件复制到网站,以便于测试。默认是 Nohttp_root
— 所有网站目录将被创建在的目录。默认是 "/srv/http"nginx_configs
— 要添加到域server
块末尾的附加配置文件。这些文件应复制到/etc/nginx/conf.d
。默认是该域的 Python 配置:[ python-{{ domain }}.conf ]
依赖关系
此角色依赖于 bbatsche.Nginx。您必须先安装该角色,使用以下命令:
ansible-galaxy install bbatsche.Nginx
示例剧本
- hosts: servers
roles:
- { role: bbatsche.Python, domain: my-python-site.dev }
许可证
MIT
测试
此角色包含一套规格,用于单独或整体测试每个任务。要运行这些测试,您需要先安装 Vagrant 和 VirtualBox。规格文件使用 Serverspec 编写,因此您需要 Ruby 和 Bundler。
要运行完整的规格套件:
$ gem install bundler
$ bundle install
$ rake
规格套件将针对 Ubuntu Trusty Tahr (14.04)、Xenial Xerus (16.04) 和 Bionic Bever (18.04)。
要查看可用的 rake 任务(和规格):
$ rake -T
这些规格不是用于测试幂等性。它们用于检查指定的任务是否执行预期步骤。幂等性通过集成测试独立测试。