在我们的项目中,我们正在使用一些
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需求文件.