如何在一个git repo中维护许多Azure资源和部署?

问题描述 投票:0回答:1

我有一个项目,由一个 Azure webapp、一个 Azure 上的 PostgreSQL 和多个用于后台 ETL 工作流的 Azure 函数组成。我还有一个本地 Python 包,需要从 webapp 和 Azure 函数中访问。

我如何从一个 git repo 中为这些资源构建配置和脚本部署?

任何建议或指向好的例子或教程都将非常感激.我看到的所有Azure教程都只适用于小型和简单的项目。

目前,我已经亲手编写了一个admin.py脚本,通过创建一个Python包,为每个资源创建ZIP文件并进行ZIP部署,来完成例如webapp和函数的部署。这样做越来越乱,现在我想有QA和PROD版本,我需要传递秘密,这样DB就可以到达,越来越复杂。有没有一种很好的方式来架构这种打包部署,或者有一个工具来帮助它?对我来说,把所有的东西都放在Kubernetes里并不是解决方案,至少DB已经存在了。另外,Azure DevOps也不是一个选择,我们正在使用Gitlab CI,所以最终我希望有一个能在那里的CICD上运行的解决方案。

azure azure-functions azure-deployment azure-webapps
1个回答
1
投票

不知道这是否能帮助完成,但我们开始吧。

而不是使用一个手写的 admin.py 脚本,尝试使用yaml管道流。对于 Gitlab,他们有 https:/docs.gitlab.comeeciyaml。 你可以用它来开始。根据你所指出的,我建议你有几个 工作步骤 在你的yaml管道中,它将构建和打包你的web和函数应用程序。对于部署,你可以使用 环境. 看一下 https:/docs.gitlab.comeecimulti_project_pipelines.html。 以及说明如何创建下游管道。

从部署的角度来看,目前我发现Azure和GitLab之间的集成让我有两个建议。

  1. 利用 script 命令的yaml继续压缩你的工件使用Azure CLI(我假设你可以在管道期间安装工具)来压缩部署。
  2. 将你的代码保存在GitLab repo内,利用Azure Pipelines为你处理CICD。

希望你觉得这对你有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.