正确答案: 使用 Cloud Build 为每个构建生成一个新的 Compute Engine VM 映像,并在每个环境中使用该映像。.
为什么这是答案
正确答案是使用 Cloud Build 为每个构建生成新的 Compute Engine VM 映像,并在每个环境中使用该映像。这确保了 CI/CD 部署的一致性,因为每个部署都基于一个不可变的映像,从而消除了环境差异。由于容器未经批准,此方法避免了容器化。使用 VM 映像可以最大限度地降低部署成本,因为 Compute Engine 提供了灵活的实例类型和计费选项。
重写应用程序到 .NET Core 并部署到 Cloud Run 虽然是现代方法,但与“旧版 .NET 应用程序”和“容器未经批准”的限制相悖,并且重写会增加成本和时间。使用 MS Web Deploy 部署应用程序并使用最新的 Windows Server 基础映像,无法保证跨环境的一致性,因为基础映像可能会在不同时间更新,导致环境漂移。将应用程序打包并部署到 Google Kubernetes Engine (GKE) 集群不符合“容器未经批准”的要求。