2012-11-07 39 views
1

当前我有一个位于H:驱动器的本地git repo。当我对文件进行更改并保存时,它们将存储在此处。然后,我可以在git服务器上提交,推送和拖放文件和分支到远程回购站点。使用git进行网页测试和部署活动网站

我想要做的是处理文件,而不是将它们保存到本地H驱动器,我想将它们保存到我的测试服务器上,以便它们可以在浏览器中从该服务器运行和测试。当所有测试完成后,我想将测试服务器中的文件合并到活动服务器,并将它们作为实时系统存在,或者我需要从测试服务器和活动服务器中提取文件,并在本地合并它们并推动主分支回到现场服务器?

此外,当分支机构合并到我的实时主分支中并推送到活动服务器时,如何从git仓库解压所有文件,以便它们可以作为活动站点运行。

我已经试验了git archivegit bundle读上去试试,看看这是否会允许我这样做各种各样的“解压”,但到目前为止,我还没有能够达到什么我可以真的工作。

是否有可能按照我描述过的方式工作,如果有的话,你会怎么做呢?

如果这是不可能的,或者有更好的方法来做到这一点,我忽略了,请让我知道。

+0

听起来像你需要看看FTP(文件传输协议)。你当前的工作环境也可能很重要,因为有些东西在Linux或Mac上无法运行的Windows上运行良好,反之亦然。如果您有托管的生产站点,则您的主机可能会提供您正在查找的一些工具。 – RockyFord

回答

1

我不知道你是什么意思的拆包东西,但我想你正在寻找的是部署变化的可能性。 假设您正在开发您的应用程序,并为此使用staging或dev分支。现在,如果你想在你的测试服务器上测试你的应用,你首先必须将所有东西都推送到你的存储库。 你可能想看看。 无论您使用哪种编程语言,使用Capistrano都可以轻松部署您的应用。 该程序将首先使用“sudo aptitude install capistrano”或甚至更好的“gem install capistrano”来安装Capistrano。 现在你已经拥有了它,你可以在本地去你的应用并输入“capify”。 既然你有多个分支你想部署到不同的服务器看看Capistrano Multistage Ext。 现在Capistrano应该创建一些文件,您应该打开.config/deploy.rb并插入您的资料库,目标服务器以及要推送到目标服务器的分支。有几个HowTo的,但default.rb应该看起来很熟悉你。 现在通过Capistrano将您的测试服务器链接到存储库的Staging分支,您可以使用“cap staging deploy”将应用程序通过ssh部署到测试服务器。 如果一切正常,您可以在本地将暂存分支合并到主服务器中,并将其推送到您的存储库中。现在,因为您的Live系统应该链接到您的回购的主分支,您可以键入“cap production deploy”以让该应用在您的实时系统上运行。您可能不得不关心数据库迁移,但总体而言就是这样。

一个快速安装/配置,你有一个比现在更好的工作流程。

如果你没有ssh访问你的服务器,你可能会看看git-ftp。 希望这有助于你解决你的问题。

0

如果您的测试服务器位于您的局域网上,您可以在其上安装Samba,然后将它的webroot挂载为H:驱动器。如果它是远程服务器,某种类型的SSHFS客户端(如Expandrive)可能会工作。