使用git镜像Web开发环境?

时间:2013-08-19 22:22:45

标签: git web-applications web-deployment

我正在使用github来控制我的Web应用程序的源代码,但是我在实时服务器上部署它时遇到了麻烦。当我在repo中有稳定的代码时,我想ssh到服务器和git pull origin master。问题是我有两个文件夹,它们位于服务器上的不同位置。

# Bolded to be version controlled
/var
**/var/ci** <- php framework
/var/www/
**/var/www/webapp1**
/var/www/webapp2

我的问题:有没有办法设置它,以后我可以git hub pull origin master,它会将最新代码存入两个目录?

一个解决方案虽然牺牲了轻松和安心,但是可以在不同位置的服务器上设置一个repo,但是有一个bash脚本来替换Web应用程序。会不会出现任何问题?

#/bin/bash
#Disclaimer: pseudo code
`git pull origin master`
`rm -rf * /my/live/frameworks`
`cp -f /my/git/repo/frameworks /my/live/frameworks
`rm -rf * /my/live/web_root`
`cp -f /my/git/repo/web_root /my/live/web_root

我可以看到上述方法存在一些问题:

  1. 非顺利申请升级
  2. 丢失缓存的模板和其他临时文件。我可以在rm -rf上添加一个过滤器,但这种方法对我来说太熟悉了
  3. 如果你拥有一个网络服务器并通过从像我这样的回购设置中提取最新代码来管理它,请提供一些关于我应该如何做这些的提示?非常感谢。

1 个答案:

答案 0 :(得分:0)

如果您打算以这种方式管理它,您可以使用符号链接从实际的Web公开目录链接到git项目。

这是a thorough answer describing that technique