0

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

# 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但是这种方法对我来说太老套了,无法适应

如果您拥有一台 Web 服务器并像我一样通过从 repo 设置中提取最新代码来管理它,您能否提供一些关于我应该如何执行此操作的提示?非常感激。

4

1 回答 1

0

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

这是描述该技术的详尽答案

于 2013-08-19T22:27:13.750 回答