我们已完成对 Octopus Deploy 的评估,并对我们在单个项目中的体验感到非常满意。现在我们正在将 Octopus Deploy 的使用扩展到多个项目,这一步为我们的 Octopus 体验带来了新的维度。所以我们必须验证以下断言:
虽然每个环境只有一个实例(例如 DEV、STAGE、PROD)会很好,但单个环境会限制同时发布:给定项目的发布会部署到共享相同角色的所有机器上,所以如果我们的生产环境由多台机器组成,但是我们其中一些必须运行不同的发布版本,那么我们不能只有 Prod 环境,我们需要将它分成几个组,例如 PROD_OSLO 和 PROD_BERGEN 这样我们才能在生产中发布新版本在奥斯陆。
机器角色在所有项目之间共享,因此如果一台机器在 STAGE 环境中有一个角色 web-server,那么任何项目的任何版本的 web 应用程序都将部署在这台机器上。这意味着如果不同的项目应该为他们的 STAGE 环境使用不同的机器,那么这可以通过创建不同的角色(proj1-web-server 和 proj2-web-server)或通过将 STAGE 环境一分为二(STAGE_PROJ1 和 STAGE_PROJ2)来实现. 我想知道这些替代方案之一是否有任何优势。
如果我忽略或误解了某些内容并且上述结论不正确,请详细说明。