我有几个问题,关于当许多开发人员在同时处理一个无法进一步分割的项目时,如何处理测试和部署,并且仍然希望每天进行部署。
目前,我们遵循Gitflow,其中我们拥有功能分支,每个人都在独立的功能上工作。功能合并到develop分支中。不时地,我们花些时间考虑用户需求/错误修复/快速功能等。
最终目标是尽快将它们部署到PROD。我的问题是,您会建议哪种过程,以便:
1)我们可以在不引入官僚主义的情况下进行部署(例如,在每个月的最后一个星期五发布)。
2)如果有人提交引入错误的代码,则不会影响已经提交正确代码的其他人。换句话说,如果程序员A尝试通过引入新错误来修复错误,并且程序员B已经修复了他的错误,那么程序员B的代码将进一步进入管道,而程序员A将需要更晚地修复错误:)
3)我们不能拥有无限的测试环境。我们也不想花费一整天设置测试环境。我们需要一个可以满足这些要求的解决方案(因此,在功能分支上进行测试不是一个选项,除非我错过了什么)
4)测试人员确切地知道他们批准进入生产的内容,毫无疑问。
顺便说一下,我们有一个相当广泛的单元/功能测试集,但是这个问题是关于过程的,因此它们并不是很相关。
另外,我已经研究了所有其他问题,没有一个真正回答了我的所有问题。如果您认为有一个可以的话,我很乐意看一看。
谢谢
目前,我们遵循Gitflow,其中我们拥有功能分支,每个人都在独立的功能上工作。功能合并到develop分支中。不时地,我们花些时间考虑用户需求/错误修复/快速功能等。
最终目标是尽快将它们部署到PROD。我的问题是,您会建议哪种过程,以便:
1)我们可以在不引入官僚主义的情况下进行部署(例如,在每个月的最后一个星期五发布)。
2)如果有人提交引入错误的代码,则不会影响已经提交正确代码的其他人。换句话说,如果程序员A尝试通过引入新错误来修复错误,并且程序员B已经修复了他的错误,那么程序员B的代码将进一步进入管道,而程序员A将需要更晚地修复错误:)
3)我们不能拥有无限的测试环境。我们也不想花费一整天设置测试环境。我们需要一个可以满足这些要求的解决方案(因此,在功能分支上进行测试不是一个选项,除非我错过了什么)
4)测试人员确切地知道他们批准进入生产的内容,毫无疑问。
顺便说一下,我们有一个相当广泛的单元/功能测试集,但是这个问题是关于过程的,因此它们并不是很相关。
另外,我已经研究了所有其他问题,没有一个真正回答了我的所有问题。如果您认为有一个可以的话,我很乐意看一看。
谢谢