为基于zc.recipe.deployment的部署设置沙盒环境
gocept.recipe.deploymentsandbox的Python项目详细描述
此配方可用于创建位于沙盒中的部署。 这对于部署自包含的构建或开发非常有用 将来将使用部署配方的设置。
它与zc.recipe.deployment兼容,可以用作插件。
它不适用于系统范围的部署,请使用 zc.recipe.deployment。
更改历史记录
0.2(2009-06-05)
- 允许重写节中的单个变量。
0.1.1(2008-02-27)
- 使用$logname而不是os.getlogin来设置用户。
0.1.0(2008-02-15)
- Initial release.
详细文档
沙箱环境
此配方为类似于 zc.recipe.deployment.部署。它不是用于整个系统的安装,而是作为 部署模式的沙盒/开发变体。
对于生产和系统范围的部署,您只需切换出一个沙箱 具有实际部署部分的部署部分。
为沙盒定义了根目录(默认情况下为 parts/${name})在其中创建以下目录结构:
${root}/var/run ${root}/var/log ${root}/etc/ ${root}/etc/cron.d ${root}/etc/init.d ${root}/etc/logrotate.d
另外,为了能够在一个沙箱中混合使用多个部署,我们 计算与zc.recipe.deployment兼容的以下路径:
crontab-directory logrotate-directory rc-directory run-directory log-directory etc-directory
此外,还将设置用户选项以匹配当前用户。
支持的选项
配方支持单个可选选项:
- 根
- 可选:沙盒的根目录。将从 部门名称(如果未给出)。
示例用法
我们将从创建使用配方的构建开始。
>>> import os >>> write('buildout.cfg', ... """ ... [buildout] ... parts = deployment ... ... [deployment] ... recipe = gocept.recipe.deploymentsandbox ... """)
运行构建会给我们带来:
>>> print system(buildout) Installing deployment. >>> ls(sample_buildout, 'parts') d deployment >>> ls(sample_buildout, 'parts', 'deployment') d etc d var >>> ls(sample_buildout, 'parts', 'deployment', 'etc') d cron.d d deployment d init.d d logrotate.d >>> ls(sample_buildout, 'parts', 'deployment', 'var') d log d run >>> ls(sample_buildout, 'parts', 'deployment', 'var', 'log') d deployment >>> ls(sample_buildout, 'parts', 'deployment', 'var', 'run') d deployment
贡献者
Christian Theune,作者