使用git镜像web开发环境?

使用git镜像web开发环境?,git,web-applications,web-deployment,Git,Web Applications,Web Deployment,我正在使用github控制web应用程序的源代码,但在live服务器上部署它时遇到问题。当我在repo中有稳定的代码时,我想ssh到服务器上并git拉原始主机。问题是我有两个文件夹,它们位于服务器上的不同位置 # Bolded to be version controlled /var **/var/ci** <- php framework /var/www/ **/var/www/webapp1** /var/www/webapp2 我可以看出上述方法存在一些问题: 非平滑应用程序升

我正在使用github控制web应用程序的源代码,但在live服务器上部署它时遇到问题。当我在repo中有稳定的代码时,我想ssh到服务器上并
git拉原始主机
。问题是我有两个文件夹,它们位于服务器上的不同位置

# Bolded to be version controlled
/var
**/var/ci** <- php framework
/var/www/
**/var/www/webapp1**
/var/www/webapp2
我可以看出上述方法存在一些问题:

  • 非平滑应用程序升级
  • 正在丢失缓存的模板和其他临时文件。我可以在
    rm-rf
    上添加一个过滤器,但这种方法对我来说又太粗糙了

  • 如果你拥有一台网络服务器,并且像我一样通过从回购协议中提取最新代码来管理它,你能提供一些我应该如何做的提示吗?非常感谢。

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


    这是。

    你不能从同一个git repo复制两个目录吗?是的,您仍然需要在两个位置执行
    git pull
    ,但如果这太麻烦,您可以将其包装在脚本中。我不明白你想用
    cp
    rm
    做什么。如果您的部署是git repo的克隆,那么您需要做的就是
    git pull
    升级和
    git checkout-f SOMETAG
    回滚,就是这样。或者我不明白你的问题。
    #/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