【发布时间】:2010-05-05 13:09:33
【问题描述】:
我正在运行一个 PHP - MySQL 网站,并使用 Git 在我自己的服务器上设置了一个远程存储库。
我现在想要一种能够拥有生产和测试服务器的方法,以及如何能够轻松地将我的更改从开发推送到生产。并且无缝。
【问题讨论】:
标签: git development-environment production-environment
我正在运行一个 PHP - MySQL 网站,并使用 Git 在我自己的服务器上设置了一个远程存储库。
我现在想要一种能够拥有生产和测试服务器的方法,以及如何能够轻松地将我的更改从开发推送到生产。并且无缝。
【问题讨论】:
标签: git development-environment production-environment
请不要使用 git 进行部署。
设置,就像通常的构建过程一样。构建一个 zip,进行缩小和 lint 以及一路上的朋友......并在单独的文件中进行配置。
并使用 BuildBot 或 Hudson 或其他任何工具来自动化它。
子孙后代会感谢你。
【讨论】:
您可以通过在生产服务器的存储库上设置post-update 挂钩来使用带有 git 的部署系统。
如果您不需要部署系统,但只想部署 repo 中的一些文件,您可以使用.gitattributes 文件和post-update 挂钩中的git-archive 命令。
【讨论】:
如果 Git 是您要走的路线,请尝试使用两个单独的代码分支(test 和 production)。在test 上完成所有工作,确保其正常运行,然后将其合并到production。将您的服务器设置为从 production 分支读取文件,您应该可以正常工作了。
不过,我同意 @Almad 的观点 - 如果您正在寻找更强大的部署解决方案,VCS 不是可行的方法(因为部署有点违背了 VCS 的目的)。
【讨论】: