在考虑App Store审核时间的同时遵守git流规则

时间:2015-04-22 09:31:16

标签: ios git continuous-integration continuous-deployment git-flow

我们一直在为我们的iOS项目快乐地使用git flow。但是,今天我发现了一些事情,这意味着我们实际上并没有遵循git flow规范。

当我们开始对发布版进行最终测试时,我们会向组织内的数百人发布BETA版本。现在,这个BETA基本上是一个候选发布者,因为没有发现其他错误,在这种情况下,它已准备好发布App Store。由于有7天以上的审核时间,我们总是将此BETA上传到iTunes Connect并将其设置为等待审核。

我们在发布分支中合并后,从主分支上的标记释放此BETA。但是,git flow规定主分支必须反映当前正在生产的内容。现在,总是有一段等待时间,直到它实际投入生产(因此我们无法打破git flow模型),但如果在此BETA中发现严重错误,我们会将其从评论中删除队列意味着它不会被释放,现在最新的关于master的提交并没有反映出将要生产什么。

您如何在工作流程中解决这个问题?

1 个答案:

答案 0 :(得分:9)

  

我们在发布分支中合并后,从主分支上的标记释放此BETA。   但是,git flow规定主分支必须反映当前正在生产的内容。

那么,如果BETA目前尚未投入生产,为什么还要这样做呢? :)

我的意思是,release分支正是为了跟踪发布候选者在评估过程中的生命周期,无论这是否意味着内部测试,beta用户测试,或者为什么不,App Store审核流程。

因此,我建议您在BETA的整个生命周期内保持release分支,并从那里构建提交到App Store的版本:

  • 如果您遭到拒绝或有任何问题,您仍然可以调整它并从同一个release分支重新提交新候选人。
  • 获得App Store批准后,您可以关闭release分支(将所有更改合并到masterdevelop)并在App Store上进行实时设置。