版本控制PHP Web项目

问题描述:

我们有一个我们想要版本控制的PHP项目。现在我们有三个人正在开发一个项目的开发版本,该版本驻留在所有Eclipse IDE链接的外部文件夹中,因此没有版本控制。版本控制PHP Web项目

什么是正确的方式和版本控制这个最好的方式?

我们有一个SVN成立,但我们只是需要找到检查的好方法,并指出,允许我们开发测试服务器上。有任何想法吗?

我们在类似的情况,这里是我们落得这样做:

  • 设立两个分公司 - 解放和发展分支。
  • 对于开发分支,包含一个将存储库部署到开发服务器的post-commit挂钩,以便测试。
  • 准备就绪后,您将更改合并到发布分支中。我还建议在这里部署一个post-commit钩子。

您还可以为每个团队成员在其工作站上设置单独的开发服务器。我发现它可以加快速度,尽管你还有更多的准备时间。

我们不得不使用一个单一的开发服务器,因为我们用的是专有的CMS,跑进许可问题。所以我们的post-commit hook是一个简单的FTP机器人。

你们每个人都可以在本地运行,或您自己的dev的服务器(甚至同一个用不同的端口...)。

一种可能的方式(有可能是更好的方法):

你们每个人都应该有项目的自己签出的版本。

在您的计算机上的服务器的本地副本,并有测试了一整天。然后在每天(或每次)结束时,将任何准备好的测试合并到一起,然后将其签出到开发服务器上并对其进行测试。使用Subversion进行PHP开发

的方法之一是过于设置为一个存储库或全部三个开发,并使用这个仓库,更象是一个同步工具,不是真正的版本控制。

你可以,

  • 做一个回购

  • 添加您的项目的整个PHP文件结构

  • 结帐这个回购协议的副本放到正确的位置你的dev的服务器上

  • 使用svn钩子,在提交时激活

这个钩子,将自动更新开发服务器中的内容,只要在任何代码队检查任何人。

挂钩位于:

svn_dir/repo_name /挂钩/后提交

而且可能看起来像:

在/ usr/bin中/ SVN上/ path_to/webroot --username svn_user --password svn_pass

这样会更新开发服务器上工作拷贝到最新的检查中

这里是我们做什么:

  • 每个开发具有构造就像我们的集成服务器虚拟机
  • 整合服务器有空间为主干,每个用户,并为分支机构几个插槽
  • 生产服务器
  • 钩子是在颠覆到电子邮件时提交由

在项目的开始,用户进行一个分支,其检出其个人VM以及抓住数据库的干净副本。他们做他们的工作,随时做出承诺。

一旦他们在自己的个人空间完成的一切,他们登录到集成服务器,并检查了他们的分公司,运行测试,等等。当所有经过他们的分支合并到主干。

Trunk被重建,一整套测试运行,如果一切都很好,它会得到批准的标记,在SVN中标记,并在晚上升级到Production。

如果在任何时候一个由别人作出承诺,我们会得到一个电子邮件,可以合并那些改变我们的各个分支。

Beanstalk有内置的post-commit挂钩部署到开发,分期和生产服务器。

另一个可用于构建的工具是TeamCity,它可以免费获得20个构建配置(对于大多数小公司/项目来说足够了)。这样,您可以运行测试以及计划构建。

什么东西分布?你可以用Mercurial作为例子,尝试不同的工作流程,看看哪一个最适合你。