我们团队中的每个开发人员都会分叉生产存储库,然后从他们的分叉中打开MR,以合并到生产分叉的主分支中。
我们有固定数量的测试环境,所有开发人员都可以共享。最终,我们希望针对每个MR都迁移到临时环境,但目前尚不可能。
我们利用了Gitlab的“环境/部署”功能:https://docs.gitlab.com/ee/ci/environments/,生产资料库是我们查看在每个环境中部署了什么的中央位置。
问题在于,当开发人员打开MR时,他们经常选择手动部署到我们的共享测试环境之一。但是,由于其分支的管道在其分支中运行,因此它在此处而不是在生产中记录环境/部署信息。这使我们无法知道谁在每个测试环境中部署了什么,因为这些信息记录在随机的开发人员分支中,而不是记录在集中的位置。
我们仅从生产存储库部署到生产主机(在开发人员派生中将其禁用),以便信息集中并保持最新状态。但是,对于开发人员来说,确定谁在某个共享测试环境中部署了某些内容并且经常意外地覆盖彼此的更改是令人头疼的事情。
我们有什么方法可以允许从开发人员分支进行测试部署,但是可以集中化有关生产存储库中每个环境中部署了什么的信息?