用于部署wsgi应用程序的模块化基于结构的工具。
ploybot的Python项目详细描述
概述
——
ploybot是一个基于结构的工具,用于根据我喜欢的方式设置python wsgi应用程序
选择操作系统,使用
apt.debian解决系统依赖关系可能也能工作,但还没有经过测试。
*Gunicorn用于为您的wsgi应用程序提供服务。
(我想它也可能是枪械堆栈,但听起来不那么友好。)
*使用一个命令("ploybot push")将站点部署到一个或多个服务器。
*自动配置nginx、supervisord和gunicorn以使站点运行。
*将每个站点隔离到单独的virtualenv中您可以部署到(例如,在暂存阶段与生产阶段不同的数据库)。
et.org/dori/ploybot egg=ploybot
/>~~~~
::
polybot push-r rolename
此命令是polybot存在的主要原因。根据site.yaml和选定的role.yaml文件中指定的配置,它可以完成
在主机(或一组主机)上运行应用程序所需的工作。按下可执行以下操作:
1。sshe到角色配置中指定的远程服务器。
2。创建旧站点的压缩回滚存档(如果已经存在)。为站点创建一个virtualenv。
4.安装apt和python依赖项。
5.将站点从本地计算机复制到
远程服务器上的临时目录。
6。写入nginx和supervisord的配置文件。
7.将代码从temp dir移动到生产位置
(默认情况下为/srv/<;sitename>.)。
8。告诉nginx和supervisord重新加载其配置。
rollback
~~~~~~
::
polybot rollback-r rolename
它将
ssh到您的角色文件中指定的推送主机,并还原站点的最新
存档。ploybot保留站点的3个回滚副本,因此您可以
潜在地运行3次"ploybot rollback"以从3次
部署返回到以前的状态。
0。(没有
被复制的内容)site.yaml的*static\u dirs*部分中列出的静态目录也将被提供。(cherrypy用于此魔法。)
install懔serve r懔deps
~~~~~~~~~~~~~~~~~~
:
ploybot install懔server懔deps-r rolename
当您获得一台散发着新鲜ubuntu气味的闪亮新服务器时,它只需进行一点点设置,就可以知道如何为ploybot dep提供服务。Loyed网站。这个
命令可以做到这一点。它安装nginx和supervisord,并在其配置中为每个nginx和supervisord提供一个
通配符,以便从/srv/<;sitename>;/conf加载。
pip-deps
~~~
:
ploybot pip-deps
此命令包装"pip-install"以安装列出的所有python包。
在requirements.txt中输入本地python环境。当你在一个已有的项目上使用一个新的virtualenv时,它很容易获取所有的依赖项。~~~~
::
polybot create_virtualenv
为要部署的应用程序创建虚拟环境。
configure_nginx
~~~~~
polybot configure_nginx
polybot switch_nginx
~~
polybot switch_nginx
重新加载nginx配置
/>
ploybot stop_other_versions
杀死此应用程序的其他运行过程
~~~~
::
创建具有基本ploybot文件和目录结构的目录。
layout
----
LED项目应该像这样分层::
——deps.yaml
——fabfile.py
——membrane.py
——roles
——dev.yaml
——staging.yaml
——production.yaml
—site.yaml
site.yaml-这是主配置文件(与google
app engine中的app.yaml相当)
2。yaml-列出运行站点的服务器上需要安装的python包、ubuntu apt包和apt build依赖项。py-一个与fabric兼容的fabfile,用于导入polybot的fabric
函数。
4。roles/\*.yaml-一个或多个"role"文件,其中包含要传入应用程序的配置,具体取决于部署上下文。
将使用"ploybot skel"命令为您创建所有必需的文件。
py-对于django项目来说,有一个小的填充程序来将项目作为wsgi应用程序公开是很好的。我喜欢叫我的膜。您可以使用
任何您喜欢的,或根本不使用,这取决于您的设置。
2.我的django项目-ploybot不限于django;您的python路径上的任何有效wsgi应用程序都应该是可维护的。但对于django项目,我认为把它们放在那里是有意义的。_主管:http://supervisord.org/
…_ nginx:http://nginx.org/
。_ ubuntu:http://www.ubuntu.com/
。_古尼康:http://gunicorn.org/
…_结构:http://docs.fabfile.org/
…_ virtualenv:http://virtualenv.openplans.org/
——
ploybot是一个基于结构的工具,用于根据我喜欢的方式设置python wsgi应用程序
选择操作系统,使用
apt.debian解决系统依赖关系可能也能工作,但还没有经过测试。
*Gunicorn用于为您的wsgi应用程序提供服务。
(我想它也可能是枪械堆栈,但听起来不那么友好。)
*使用一个命令("ploybot push")将站点部署到一个或多个服务器。
*自动配置nginx、supervisord和gunicorn以使站点运行。
*将每个站点隔离到单独的virtualenv中您可以部署到(例如,在暂存阶段与生产阶段不同的数据库)。
et.org/dori/ploybot egg=ploybot
/>~~~~
::
polybot push-r rolename
此命令是polybot存在的主要原因。根据site.yaml和选定的role.yaml文件中指定的配置,它可以完成
在主机(或一组主机)上运行应用程序所需的工作。按下可执行以下操作:
1。sshe到角色配置中指定的远程服务器。
2。创建旧站点的压缩回滚存档(如果已经存在)。为站点创建一个virtualenv。
4.安装apt和python依赖项。
5.将站点从本地计算机复制到
远程服务器上的临时目录。
6。写入nginx和supervisord的配置文件。
7.将代码从temp dir移动到生产位置
(默认情况下为/srv/<;sitename>.)。
8。告诉nginx和supervisord重新加载其配置。
rollback
~~~~~~
::
polybot rollback-r rolename
它将
ssh到您的角色文件中指定的推送主机,并还原站点的最新
存档。ploybot保留站点的3个回滚副本,因此您可以
潜在地运行3次"ploybot rollback"以从3次
部署返回到以前的状态。
0。(没有
被复制的内容)site.yaml的*static\u dirs*部分中列出的静态目录也将被提供。(cherrypy用于此魔法。)
install懔serve r懔deps
~~~~~~~~~~~~~~~~~~
:
ploybot install懔server懔deps-r rolename
当您获得一台散发着新鲜ubuntu气味的闪亮新服务器时,它只需进行一点点设置,就可以知道如何为ploybot dep提供服务。Loyed网站。这个
命令可以做到这一点。它安装nginx和supervisord,并在其配置中为每个nginx和supervisord提供一个
通配符,以便从/srv/<;sitename>;/conf加载。
pip-deps
~~~
:
ploybot pip-deps
此命令包装"pip-install"以安装列出的所有python包。
在requirements.txt中输入本地python环境。当你在一个已有的项目上使用一个新的virtualenv时,它很容易获取所有的依赖项。~~~~
::
polybot create_virtualenv
为要部署的应用程序创建虚拟环境。
configure_nginx
~~~~~
polybot configure_nginx
polybot switch_nginx
~~
polybot switch_nginx
重新加载nginx配置
/>
ploybot stop_other_versions
杀死此应用程序的其他运行过程
::
创建具有基本ploybot文件和目录结构的目录。
layout
----
LED项目应该像这样分层::
——fabfile.py
——membrane.py
——roles
——dev.yaml
——staging.yaml
——production.yaml
—site.yaml
site.yaml-这是主配置文件(与google
app engine中的app.yaml相当)
2。yaml-列出运行站点的服务器上需要安装的python包、ubuntu apt包和apt build依赖项。py-一个与fabric兼容的fabfile,用于导入polybot的fabric
函数。
4。roles/\*.yaml-一个或多个"role"文件,其中包含要传入应用程序的配置,具体取决于部署上下文。
将使用"ploybot skel"命令为您创建所有必需的文件。
py-对于django项目来说,有一个小的填充程序来将项目作为wsgi应用程序公开是很好的。我喜欢叫我的膜。您可以使用
任何您喜欢的,或根本不使用,这取决于您的设置。
2.我的django项目-ploybot不限于django;您的python路径上的任何有效wsgi应用程序都应该是可维护的。但对于django项目,我认为把它们放在那里是有意义的。_主管:http://supervisord.org/
…_ nginx:http://nginx.org/
。_ ubuntu:http://www.ubuntu.com/
。_古尼康:http://gunicorn.org/
…_结构:http://docs.fabfile.org/
…_ virtualenv:http://virtualenv.openplans.org/