我应该使用Git来部署Web应用程序吗?
我使用Git来跟踪我的PHP Web应用程序中的本地更改,我想知道是否在服务器上使用Git也是一个好主意,以便我可以使用git push
部署我的更改。这种方法会有什么陷阱吗?我应该使用Git来部署Web应用程序吗?
这似乎是一种很好的做事方式。如果您正确地标记和分支,它将使您能够在发生故障时快速切换回您网站的工作版本。
我认为这是一个很好的做法。我以类似的方式处理事情,其中活网站只是从存储库中签出,并根据需要进行更新。
+1。如果您想检查服务器上的更改(所有您需要运行的是查找新文件或修改文件的状态命令),它会使事情变得非常好。 – ircmaxell 2010-08-20 18:25:49
可以将在线修补程序推回开发。
能够在现场系统上执行git status
可以成为现场救援。
去吧!
注意事项
- 确保了“git的”文件夹不是从网络访问。
- 使用PHP时,源代码通常存在于网络服务器上,因此在服务器遭到黑客入侵的情况下不会增加的附加风险。
如果仅仅因为您可以确定您部署的网站上的任何内容也正在git中进行跟踪,那么我会赞成使用这种技术。也就是说,它鼓励最佳做法,并阻止不受源代码控制的特别更改。
有关另一种替代方法,请查看关于Twitter如何使用BitTorrent管理部署的文章:http://torrentfreak.com/twitter-uses-bittorrent-for-server-deployment-100210/ 当您需要在大量服务器上快速部署时,这可能是最有用的。
我认为它是一个很好的解决方案。我一直在使用它来部署我的网站很长一段时间......这很好,因为只需更新文件夹,您几乎可以立即将更改投入生产。我没有遇到任何安全问题或任何问题。
享受!
Git很好,但你可以做得更好,然后使用git pull。 capistrano请看railess deploy。
Capistrano基本上做了rsync和git pull的组合来部署你的网站的副本。它支持角色备份,分段和分布式部署。
@bcat:感谢您的编辑。不知道我错过了那一个。 – DLH 2010-08-20 18:32:11
非常明显的错误是,如果你推入非裸仓库,工作树(实际文件)将不会被更新。我无法相信没有任何答案提到这一点。 – Cascabel 2010-08-20 20:11:08
@Jefromi:非常真实。我其实[只是找到了解决方案。](http://stackoverflow.com/questions/279169/deploy-php-using-git) – DLH 2010-08-20 20:17:48