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

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

我们有一个SVN设置,但我们只需要找到一个检查进出的好方法,这样我们就可以在开发服务器上进行测试。 有任何想法吗?

===============>>#1 票数:26 已采纳

我们处于类似的情况,这就是我们最终做的事情:

  • 设置两个分支 - 发布和开发分支。
  • 对于开发分支,包括一个后提交钩子,它将存储库部署到开发服务器,因此您可以进行测试。
  • 准备好后,将更改合并到发布分支中。 我还建议在那里部署一个post-commit钩子。

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

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

===============>>#2 票数:5

这是我们做的:

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

在项目开始时,用户创建一个分支并在其个人VM上检查它,并抓取数据库的干净副本。 他们做他们的工作,随着他们去做。

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

重建Trunk,运行全套测试,如果一切顺利,它将获得批准的大标签,在SVN中标记,并在晚上升级到Production。

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

===============>>#3 票数:3

Beanstalk具有内置的提交后挂钩,用于部署到开发,登台和生产服务器。

===============>>#4 票数:2

分发的东西怎么样? 您可以从Mercurial开始,尝试不同的工作流程,并查看最适合您的工作流程。

===============>>#5 票数:2

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

你可以,

  • 回购

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

  • 将此repo的副本签出到dev服务器上的正确位置

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

只要团队中的任何人签入任何代码,此钩子就会自动更新开发服务器的内容。

胡克居住在:

svn_dir / repo_name /挂钩/后提交

可能看起来像:

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

这将在开发服务器上将您的工作副本更新为最新的签入。

===============>>#6 票数:0

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

===============>>#7 票数:0

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

===============>>#8 票数:0

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

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

在您的计算机上拥有服务器的本地副本,并在那里进行全天测试。 然后在每天结束时(或每当),您将任何准备好测试的内容合并在一起,然后将其检出到开发服务器并进行测试。

  ask by Adam Lerman translate from so

未解决问题?本站智能推荐: