从 GitHub 部署时处理 config.json 文件

Posted

技术标签:

【中文标题】从 GitHub 部署时处理 config.json 文件【英文标题】:Handling config.json file when deploying from GitHub 【发布时间】:2022-01-17 14:43:04 【问题描述】:

我正在尝试通过将凭据信息放在单独的文件中而不是将其推送到 GitHub 来使我的部署更加安全。问题是我已经将 repo 与 Azure 同步,以实现持续开发。

由于配置文件被忽略,Azure App在从GitHub寻找代码时,找不到配置文件,因此无法读取信息。

我该如何克服这个问题?谢谢。

【问题讨论】:

【参考方案1】:

我建议您研究一下 Azure DevOps。 (最多 5 位用户免费)

它将让您有机会使用管道管理您的部署。无需在 Azure DevOps Git 中托管代码。您可以继续使用 GitHub 进行源代码控制。

我不喜欢 Azure 服务中的内置“部署中心”,比如“应用服务”。与流水线相比,您的定制将非常有限。

用于在部署中保持机密安全。您可以使用 Key Vault 引用。 https://docs.microsoft.com/en-us/azure/app-service/app-service-key-vault-references

【讨论】:

感谢您的回复。因此,您建议通过 Azure Devops 部署 WebApp,我可以以某种方式安全地将配置文件包含在其中,而无需将其包含在我的 github 存储库中? Key Vault 不适用于我的问题,因为我需要将配置保留为 json 格式。 您将不得不放弃“文件”,转而利用管道的功能,例如“应用程序设置/配置/环境变量”,如果您使用密钥保管库,则无需任何人访问如果他们想部署你的秘密。 Key Vault 机密完全能够存储 json 数据。但是,如果您利用环境变量在运行时访问凭据。您需要查看 azure 应用服务中的“配置”,以链接您的机密。

以上是关于从 GitHub 部署时处理 config.json 文件的主要内容,如果未能解决你的问题,请参考以下文章

从 github 部署更改的模型时,如何在 heroku 上运行 makemigrations/migrate?

从 GitHub 持续部署在 Azure 中失败(ASP.NET 5 和 MVC 6)

GitHub 页面部署问题

从 Github Action 部署到 Github 包注册表

使用部署密钥从 Github 存储库的发布部分下载文件

从 GitHub 部署 Key 问题 Capistrano