目前使用Dev管道(Jenkins)部署和测试应用程序
源代码在GazLab上的develop
分支,跟随Gitflow workflow
在创建develop
分支之前,QA管道将在release
分支中标记特定提交后触发构建,测试和部署,如下所示:
根据Git流,理想情况下QA管道应该触发工件(${release_num}-${JenkinsBuildNum}-SNAPSHOT.jar
),但不能触发develop
分支中的git提交。
将应用程序移至QA空间以供QA团队测试后,
1)开发团队是否不打算在develop
分支中创建任何新的提交?除非QA团队发现任何错误
2)QA管道生成的工件的命名约定应该是什么? Dev管道生成名为${release_num}-${JenkinsBuildNum}-SNAPSHOT.jar
的工件
我不确定我是否正确理解您的问题描述,所以我试着改写它:
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
分支?