我有一些关于大三角帆部署策略的问题。
我有一个可在Kubernetes中部署的微服务应用程序,我开始使用Spinnaker来管理部署工作流。 我使用Google Kubernetes Engine和Google Container Registry + Google Cloud Build来管理映像构建。 该存储库托管在Github上,一旦存储库发生一些更改,我就必须构建一个新的Docker映像。 在Spinnaker中,我使用清单(v2)部署应用程序。
因此,一方面,我有用于部署的yaml清单文件,另一方面,是Google托管的docker映像。
我跟随this tutorial建立了投放渠道。我运行测试并在Google Cloud Build中构建映像,然后Spinnaker在注册表中检测到新的docker映像,并使用直接存储在Spinnaker中的清单开始部署。这对我来说很好。
但是,如果我想对清单文件进行版本控制并将其放入git存储库,该怎么办? 为此,我必须在Spinnaker上添加Github工件,并在部署阶段将其用作文本源。 但是它仅在清单文件中找到某些更改时运行。 因此,为避免这种情况,我必须在工件中设置默认文件路径(指定要查找的git分支)。这样,我必须始终使用相同的分支,并且不能使用名称不同的不同分支在开发环境中进行部署。另外,我还必须设置两个Github工件,一个用于开发人员,另一个用于产品。 我认为这不是一个好的解决方案。
我想知道您如何处理这样的案件。 可能是我在传递工作流程中犯了一个错误,并且必须在Spinnaker中静态设置清单。否则,我不知道如何获取清单文件的正确副本。
谢谢。