版本控制PHP Web Project

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

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

我们建立了一个SVN,但我们只需要找到一个很好的方法来检查和检查,这使我们能够在开发服务器上进行测试。有任何想法吗?

0

8 答案

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

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

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

0
额外

你们每个人都可以在本地运行它,或者在你自己的开发服务器上运行它(或者甚至是与另一个端口相同的运行...)。

0
额外

以下是我们的工作:

  • 每个开发者都有一个像我们的集成服务器一样配置的虚拟机
  • 集成服务器为Trunk,每个用户和几个分支插槽提供空间
  • 生产服务器
  • 提交时,钩子在Subversion中发送电子邮件

在一个项目开始时,用户创建一个分支并在他们的个人虚拟机上进行检查,并抓取数据库的干净副本。他们做他们的工作,随时做出承诺。

一旦他们完成了他们自己的个人空间中的所有事情,他们就登录到集成服务器并检查他们的分支,运行他们的测试等等。当分支通过的所有东西都合并到了Trunk中。

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

如果在任何时候由其他人提交,我们会收到一封电子邮件,并可以将这些更改合并到我们各自的分支机构中。

0
额外

一种使用Subversion进行PHP开发的方法是为一个或所有三个开发人员设置一个存储库,并将该存储库用作同步工具,而不是真正的版本控制。

你可以,

  • 制作回购

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

  • 将此回购的副本签入开发服务器上的正确位置

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

这个钩子会自动更新dev服务器的内容,只要团队中的任何人检查任何代码。

钩子驻留在:

svn_dir / repo_name /钩/提交后

可能看起来像:

</> / usr / bin / svn up / path_to / webroot --username svn_user --password svn_pass

这将更新您的开发服务器上的工作副本到最新的登记。

0
额外

我们遇到了类似的情况,这就是我们最终做的事情:

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

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

我们必须使用单个开发服务器,因为我们正在使用专有CMS并遇到许可问题。所以我们的post-commit hook是一个简单的FTP机器人。

0
额外

您可以用于构建的另一个工具是 TeamCity ,它可以免费使用20种构建配置(足够用于大多数小公司/项目)。通过这种方式,您可以运行测试以及计划构建。

0
额外

Beanstalk has built-in post-commit hooks for deploying to development, staging, and production servers.

0
额外

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

0
额外