我正在构build一个基于Web2Py的Web应用程序,并在远程EC2开发服务器上进行大部分开发。 我想版本控制整个系统,包括所有的python模块,网页和Apacheconfiguration文件。 这些文件显然分散在我的Linux机器上,但我希望能够使用单个命令进行签出/提交。 我是新来的SVN在命令行上 – 有没有办法做到这一点,使用某种types的虚拟目录与SYS链接?
任何想法都欢迎。 谢谢。
如何在MySQL命令行查询中使用$ RANDOM(linux)?
我的应用程序有128MB的堆,但使用1.6GB的真正的RAM。 我如何知道1.4GB的位置?
通过Linux和Mono编写.NET for Windows
如何以编程方式确定驱动器的空间/大小? 在LInux和Windows上
对于单个开发者来说, Git ( book )更适合于方便。 您可以非常方便地在本地“提交”,并将更改推送到远程服务器,这可能是您的EC2实例,只需要SSH连接即可工作。 但我可能会使用托管的解决方案,如GitHub或任何其他托管解决方案,具有SSH和安装Git的能力。 我将GitHub用于我的公共项目 , DreamHost用于我的“私人”项目。
你会把所有的文件放在一个目录结构中,然后使用一些自动化的过程来部署它们。 对于Python,我会建议Python标准,如distutils甚至easy_install 。 对于更复杂的环境,您需要考虑像Chef这样的东西,如果您开始扩展到单个EC2实例,这将非常重要。 即使没有多个服务器的需求,像Chef这样的可重复的自动化部署是一个有效的开发人员。
只是不要试图编写一个“快速和肮脏的”shell脚本进行部署,他们是脆弱的,非常不可维护。 如果你不喜欢厨师,研究替代品,并花时间学习。 所花费的时间将被弥补下来。
如果你已经开始开发,那么简单的路线是组织一个SVN树,然后sym链接模块和httpd.conf。 你也可以使用virtualenv ,只检查virtualenv配置。
像模糊lolipop我会强烈建议git以及。 特别是因为它的低污点足迹。 SVN会在您的回购的每个子文件夹中留下.svn文件夹,如果您的自动脚本复制/粘贴,SVN可能会花费很多。
我建议你有一个中央git回购和发布脚本检出一个版本,然后将文件复制到他们的位置。
另外
你可以将你的repo分割出来,并使用符号链接来连接你的网站,然而把你的生产源放到repo中可能是一个不好的做法,我仍然可以利用上面列出的复制脚本方法。
我个人使用Git来管理网站和配置文件。
我不确定我是否会在同一个仓库中混合使用apache配置和网站,但是如果我采取这种方法,我会在分支机构中进行相应的设置。
根据你正在运行的操作系统,etckeeper很好,并与基于debian / apt的系统很好地集成。
曾经想过把虚拟机重影到S3? 这几乎就像“穷人版本控制”的云版本。
我已经完成了符号链接,虽然这是一个很好的解决方案,但一开始并不是最容易的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。