在我的团队中,我们每个人都将代码提交到同一个开发分支。我们有一个测试服务器,它从这个分支运行更新的代码,这样我们就可以在服务器上测试我们的代码。此测试服务器在互联网上公开,以便我们可以测试来自第三方服务(如sendgrid )的回调。(为sendgrid指定一个url以更新发送出去的电子邮件的状态)
问题是,如果我们想要将开发分支合并到主分支,以便向生产服务器发布新特性,那么可能还没有准备好的一些特性将应用于生产服务器。
因此,我们正在考虑让每个开发人员在一个特性/主题分支上工作,其中每个开发人员都在各自的特性上工作,准备好之后,将其合并到开发分支中进行测试,然后合并到主分支中。
但是,因为我们的测试服务器只从开发分支中提取更改,所以开发人员无法测试他们的特性。虽然这不是一个很大的问题,因为他们可以在他们的本地机器上测试它,但我预见到的唯一问题是,如果我们想在开发特性的过程中使用我们的测试服务器测试第三方服务的回调。
我们如何处理这个问题呢?
注意:我们不是高级的git用户。我们使用用于MacOSX和Windows的Github应用程序来提交我们的工作。
安装程序:这是一个PHP项目。我们没有任何形式的CI设置,也没有知识这样做。最终,我们想要使用Jenkins,但是现在我们只专注于把我们的最小可行的产品拿出来。
发布于 2012-11-30 00:33:54
一种解决方案是让测试服务器在提交时也构建分支。例如,Jenkins可以被告知监视回购中的一些或所有分支,每当它检测到提交到一个分支时,它就会构建该分支。参见例如吉特、特性分支和詹金斯-或者我是如何学会不再担心坏掉的构建的。
对于不应该测试的“划痕”分支,您可以有一些命名约定,并且只允许Jenkins构建“真正的”特性分支。
另一个常见的解决方案是在您的特性分支和主(或有分支“主”和“发布”)之间有某种集成分支。然后,一旦一个特性准备好了,每个人都会合并到主特性上,所有的东西都会在主上进行测试,但是只有在对一个特性进行了足够的测试之后,才会合并为“发布”。关于一种流行的方法,请参见例如一个成功的Git分支模型。
发布于 2012-11-30 00:45:50
你可以像git项目那样对"pu“分支做些什么。
在git (项目)中,开发是在主题分支上进行的。在开发过程中,这些分支通常是基于最新的主版,或者,如果它们依赖于其他最近的开发,则是下一步。每一次他们的基地,他们都合并到一个分支,称为pu。分支总是通过再次合并所有主题来删除和创建。与测试功能相比,它被合并为"next",这永远不会反弹,并最终集成到"master“中。因此,您可以有一个测试服务器显示这个"pu“(开发),另一个可能显示"next”(预制作)。
https://softwareengineering.stackexchange.com/questions/177816
复制相似问题