【问题标题】:New commits in QA phaseQA 阶段的新提交
【发布时间】:2019-03-26 11:45:07
【问题描述】:

目前正在使用 Dev pipeline(Jenkins) 部署和测试应用程序

源代码位于 GitLab 的 develop 分支中,紧随 Gitflow workflow

QA 管道将在标记develop 分支中的特定提交后、创建release 分支之前触发构建、测试和部署,如下所示:

根据 Git 流程,理想情况下 QA 管道应该在工件 (${release_num}-${JenkinsBuildNum}-SNAPSHOT.jar) 上触发,而不是在 develop 分支中的 git 提交上触发。

在将应用移至 QA 空间以供 QA 团队测试后,

1) 开发团队不应该在develop 分支中创建任何新提交吗?除非 QA 团队发现任何错误

2) QA 管道生成的工件的命名约定应该是什么?开发管道生成名为 ${release_num}-${JenkinsBuildNum}-SNAPSHOT.jar 的工件

【问题讨论】:

  • QA 管道工件是否应该类似于 ${release_num}-$git_tag}-release.jar

标签: testing continuous-integration jenkins-pipeline continuous-deployment qa


【解决方案1】:

我不确定我是否正确理解了您问题的描述,所以我尝试重新表述:

  • 您正在使用某种持续集成和部署服务器。
  • 您的源代码在 GitLab 上。
  • 在您的 develop 分支上标记提交将触发 QA 管道/构建,该管道/构建从该提交构建您的应用并将其部署到 QA 空间,以便测试人员可以安装和测试它。

现在,您的问题似乎是:

开发团队是否必须等待(“代码冻结”)提交到develop 分支,直到测试人员完成测试?


如果您问我上面描述的内容,我的答案如下:

将来尝试将git flow 工作流应用为您的 git 分支模型。

对于您当前的问题,只需从您在 develop 分支上标记的提交创建另一个分支并将分支命名为 release

现在,开发人员可以像往常一样继续开发新功能,并将他们的更改提交到您的 develop 分支。

如果测试人员发现任何需要修复的错误,您可以在 release 分支上执行此操作。当一切都修复后,您可以从发布分支构建您测试过的应用程序版本。

完成后不要忘记将您在release 分支上所做的错误修复合并回develop 分支。


澄清问题后编辑:

在我看来:如果应用正确,Gitflow 实际上应该可以完全解决您在问题 1 中提出的问题:

您的日常开发人员工作添加到的分支是develop。当你实现了你想要的一切并且认为你已经准备好发布一些东西(从你的开发人员的角度来看)你创建 release 分支以将当前版本(你的发布候选)保存在某个地方并让测试人员验证此版本。作为开发人员,您可以继续开发下一个功能并将您的更改提交到develop 分支。

当测试人员发现错误时,您在 release 分支上修复错误。当一切都修复后,您可以从 release 分支创建一个应用程序版本并将其发布给客户。当它实际发布时,您将release 分支推送到master 分支,并将release 分支上的更改合并回develop

因此,据我所知,发布分支的存在正是为了避免您的问题 1)。 您的流程以这种方式运行很可能有某种原因,但是为什么要在测试人员测试完之后创建release 分支?

【讨论】:

  • 我们正在关注 Gitflow。 release 分支将在 QA 阶段确定后创建。
猜你喜欢
  • 2011-11-15
  • 2012-06-27
  • 2011-11-24
  • 2013-05-21
  • 1970-01-01
  • 2012-07-01
  • 2015-02-02
  • 1970-01-01
相关资源
最近更新 更多