1

我有一些关于大三角帆部署策略的问题。

我有一个要在 Kubernetes 中部署的微服务应用程序,我开始使用 Spinnaker 来管理部署工作流。我使用 Google Kubernetes Engine 和 Google Container Registry + Google Cloud Build 来管理镜像构建。存储库托管在 Github 上,一旦存储库发生一些更改,我必须构建一个新的 Docker 映像。在 Spinnaker 中,我使用清单 (v2) 部署应用程序。

因此,一方面我有用于部署的 yaml 清单文件,另一方面有托管在 Google 上的 docker 映像。

我按照本教程构建了我的交付管道。我在 Google Cloud Build 中运行测试并构建映像,然后 Spinnaker 在注册表中检测到一个新的 docker 映像并开始使用直接存储在 Spinnaker 中的清单进行部署。这对我来说很好。

但是,如果我想对清单文件进行版本控制并将其放入 git 存储库怎么办?为此,我必须在 Spinnaker 上添加一个 Github 工件,作为文本源用于部署阶段。但只有在清单文件中发现某些更改时它才会运行。因此,为避免这种情况,我必须在工件中设置默认文件路径(指定要查找的 git 分支)。这样,我必须始终使用同一个分支,并且不能在开发环境中使用具有不同名称的不同分支进行部署。另外,我必须设置两个 Github 工件,一个用于开发,一个用于生产。我认为这不是一个好的解决方案。

我想知道您如何处理这样的案件。可能我在交付工作流程中犯了一个错误,我必须在 Spinnaker 中静态设置清单。否则我不知道如何获得清单文件的正确副本。

谢谢你。

4

0 回答 0