我正在 djangorecipe 上使用 Django 编写一个 Web 应用程序。我想进行自动部署,发现 Fabric 将是一个完美的解决方案。
不过,我不确定,您如何在构建环境中使用 Fabric。事实证明,关于使用 Fabric 的扩展配方和帖子有点过时(约 2010 年)。有没有人尝试过实施?
我正在 djangorecipe 上使用 Django 编写一个 Web 应用程序。我想进行自动部署,发现 Fabric 将是一个完美的解决方案。
不过,我不确定,您如何在构建环境中使用 Fabric。事实证明,关于使用 Fabric 的扩展配方和帖子有点过时(约 2010 年)。有没有人尝试过实施?
考虑它的最佳方法是将它们分开对待。
Buildout 用于在本地和服务器上设置所有内容。抓取 django 和所有需要的 python 包。甚至可能从模板生成 apache 配置文件。
fabric 用于运行远程命令,例如在服务器上检查带有 buildout 的标签,运行 bootstrap 和 buildout 以及重新启动 apache。
Buildout 管理实际目录。Fabric 运行 buildout 并管理 buildout 目录之外的所有内容。奇迹般有效!
(当然你把你的 fabfile.py 放在你的 buildout 目录中。如果你喜欢的话,你可以将 fabric 本身添加到 zc.recipe.egg:scripts 部分以获得本地 bin/fab。)