如何将包含秘密 API 密钥的 public Github 项目部署到 Azure?
How do deploy a public Github project that contains secret API keys to Azure?
我有一个计划在某个时候开源的项目。目前,我将所有 API 密钥保存在未签入的 class 中 - 我刚刚将项目链接到 Azure,但 API 密钥 class 不存在导致部署失败。
How can I hide secret API keys in a public project and still have it deploy to Azure?
我已经阅读了很多帖子(例如this one)但是找不到一个解决方案可以让我做我想做的事 - 有人知道我应该在这里做什么吗?可能吗?
对于 Azure Web 应用程序,您可以在门户的“配置”选项卡上指定配置值(在 "app settings" 下)。这些将覆盖您的 Web.config
文件中指定的值。
这意味着您可以将这些设置保留在 public 存储库之外。
对于本地开发,您可以将设置放在单独的 XML 文件中。为此,请像这样更新 Web.config 中的 appSettings
:
<appSettings file="mysettings.xml" />
然后创建 mysettings.xml
并将您的实际设置放入新的 <appSettings>
元素中。
然后您可以将 mysettings.xml
添加到您的 .gitignore
文件,这样它就不会被签入您的 public 存储库。
Azure 不会介意您的 mysettings.xml
文件不存在,而是会选择您在门户中指定的设置。
我有一个计划在某个时候开源的项目。目前,我将所有 API 密钥保存在未签入的 class 中 - 我刚刚将项目链接到 Azure,但 API 密钥 class 不存在导致部署失败。
How can I hide secret API keys in a public project and still have it deploy to Azure?
我已经阅读了很多帖子(例如this one)但是找不到一个解决方案可以让我做我想做的事 - 有人知道我应该在这里做什么吗?可能吗?
对于 Azure Web 应用程序,您可以在门户的“配置”选项卡上指定配置值(在 "app settings" 下)。这些将覆盖您的 Web.config
文件中指定的值。
这意味着您可以将这些设置保留在 public 存储库之外。
对于本地开发,您可以将设置放在单独的 XML 文件中。为此,请像这样更新 Web.config 中的 appSettings
:
<appSettings file="mysettings.xml" />
然后创建 mysettings.xml
并将您的实际设置放入新的 <appSettings>
元素中。
然后您可以将 mysettings.xml
添加到您的 .gitignore
文件,这样它就不会被签入您的 public 存储库。
Azure 不会介意您的 mysettings.xml
文件不存在,而是会选择您在门户中指定的设置。