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

mat*_*son 2 git continuous-integration continuous-deployment ios git-flow

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

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

在合并其发布分支后,我们从主分支上的标记释放此BETA.但是,git flow规定主分支必须反映当前正在生产的内容.现在,总是有一个等待时间,直到它实际上在生产中(所以我们不能打破git流模型),但是如果在这个BETA中发现了严重的错误,我们将它从审查队列中删除,这意味着它不会被释放,现在最新的主人承诺并没有反映出生产中会发生什么.

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

Hug*_*ira 9

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

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

我的意思是,该release分支正是为了跟踪发布候选者在评估期间的生命周期,无论这是指内部测试,测试用户测试,还是为什么不进行App Store审核流程.

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

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