我正在构建一个基于 Web2Py 的 Web 应用程序,并在远程 EC2 开发服务器上进行大部分开发。我想对整个系统进行版本控制,包括所有 python 模块、网页和 Apache 配置文件。这些文件显然分散在我的 Linux 机器上,但我希望能够使用单个命令签出/提交。我是命令行上的 SVN 新手 - 有没有办法使用某种带有符号链接的虚拟目录来执行此操作?
欢迎任何想法。谢谢。
小智 3
对于单个开发人员来说,Git(书籍)更适合方便。您可以非常轻松地在本地“提交”,并将更改推送到远程服务器,该服务器可能是您的 EC2 实例,它只需要 SSH 连接即可工作。但我可能会选择托管解决方案,例如GitHub或任何其他具有 SSH 并能够安装 Git 的托管解决方案。我将 GitHub 用于我的公共项目,将DreamHost用于我的“私人”项目。
您可以将所有文件放在一个目录结构中,然后使用某种自动化流程来部署它们。对于Python,我会建议一些Python标准,比如distutils甚至easy_install。对于更复杂的环境,您需要考虑Chef之类的东西,如果您开始扩展到多个 EC2 实例,这将非常重要。即使没有多个服务器,也需要像 Chef 这样的工具来实现可重复的自动化部署,这也是高效开发人员所做的事情。
只是不要试图编写“快速而肮脏”的 shell 脚本来进行部署,它们很脆弱且非常难以维护。如果您不喜欢 Chef,请研究替代方案并花时间学习一种。所花费的时间将在以后得到弥补。