GIT - Web开发工作流程/部署

时间:2012-09-02 09:38:35

标签: php linux git version-control web-deployment

我是一个由3人(2名开发人员和1名设计师)组成的团队的成员,他们有时在办公室工作,有时甚至远程工作,我正在寻找一种使用GIT无缝开发网站的方法。我在Rackspace有一个管理帐户,并在帐户上设置了3个服务器 - 开发,登台和生产。

我正在寻找我们团队每天在我们的网站上开发的最佳方式,而不必在每次进行任何更改时将文件FTP到服务器。我过去使用过SVN,但我希望使用Git进行版本控制。我想到的一个名为'test'的示例网站的工作流程如下:

开发服务器会为每个用户以及一个中心目录创建一个目录(称为主干但不确定是否应该为其他人调用?)。 E.g / var / www / test / jbloggs /,/ var / www / test / asmith /,/ var / www / test / rjohnson /和/ var / www / test / central / trunk /。

中央存储库将安装在/ var / www / test / central / trunk /然后/ asmith /,/ rjohnson /和/ jbloggs /将克隆主干,这意味着它们将成为/ var / www / test / asmith / trunk,/ var / www / test / rjohnson / trunk /和/ var / www / test / jbloggs / trunk /。

每个用户都会有一个/ trunk /的副本,其中包含所有网站文件,都将配置子域,即jbloggs.test.development,rjohnson.test.development等,并将其IDE配置为自动SFTP到服务器,以便它们直接在其开发服务器的目录中工作。中央目录域将是test.development。当他们对中央存储库进行任何更改时,他们将SSH进入服务器并提交他们的更改,当我们想要更新中央存储库时,我们将提取这些更改以获取最新版本,然后可以在test.development中查看。

这是正确的做法吗?还是我们都应该安装本地LAMP堆栈(除了使用Windows的设计人员)并在本地拥有我们的存储库?如果是这样,中央仓库是否仍然在机架式服务器上?开发人员将使用phpstorm和设计师dreamweaver。

希望以上是有道理的。

由于

1 个答案:

答案 0 :(得分:0)

我强烈建议您在本地工作,然后在共享服务器上提交。这就是git的用途。每个人的发展都会更加积极和容易。确保所有开发人员掌握git,以便他们可以根据需要进行内部汤。如果一个dev破坏数据库,其他人可以继续工作。但是,您还需要一种方便的方式来同步数据库,以便开发人员使用最新的本地数据库。

你的链的其余部分没问题,你仍然可以有两个测试步骤,如开发团队的开发服务器和测试人员的测试服务器。这将使测试人员处理更稳定的版本,并且当您将更改从开发服务器复制到测试服务器时,它还将使您测试升级过程。由于未经测试的升级程序,会出现很多错误。 您可以通过在其上安装GIT或仅使用将更改文件的简单脚本来更新测试和生产服务器上的更改。我不喜欢在生产服务器上使用git,但这是个人意见。