在真实的生产项目中部署(管理依赖)django可重用应用程序的最佳实践是什么?

在我们的项目中,我们正在使用一些 django可重用的应用程序,我们正在考虑如何使连续和自动部署变得轻松和轻松.

我们有两个选择:

选项#1:使用“pip install xxx”安装所有依赖项可重用应用程序.编写脚本来安装和检查依赖项.

选项#2:在我们自己的目录下复制所有使用过的可重用应用程序,因此我们基本上将在项目目录中部署所有内容.

两种选择都有其优点和缺点,我想知道你是否可以分享你这样做的最佳做法?

您可以非常轻松地创建具有pip的依赖项文件,这意味着将在服务器之间维护每个应用程序的正确版本

# Save dependancies to a file
pip freeze > requirement_file.txt

创建一个类似于的文件:

django==1.3
django-tagging
markdown
...

以后可以用来在不同的服务器上重新安装列出的应用程序

# Install all dependancies in the file
pip install -r requirement_file.txt

这是一个很好的简单方法.你可以使用zc.buildout之类的东西变得更复杂

http://pypi.python.org/pypi/zc.buildout

这有助于通过脚本管理包(python和非python)(你克里特’收件人’包含你需要安装的包的细节)

如果您需要更广泛地控制服务器安装,可以使用“puppet”或“chef”

http://projects.puppetlabs.com/projects/1/wiki/Big_Picture
http://wiki.opscode.com/display/chef/Chef+Server

它们旨在自动化和部署更多,然后只依赖于整个服务器

我不需要使用更多简单的pip需求文件,但如果你需要更多,其他选项也很棒.

编辑

在您的项目根目录/ python路径中保留您自己的应用程序版本可能会变得有限并且难以跟踪,我建议使用pip需求文件.

相关文章
相关标签/搜索