我有一个ASP.NET Core应用程序正在设置Github自动部署它。但由于它是一个开放的回购,我显然不想上传我正确的配置文件。
我想做的是在github自动部署后替换appsettings.json中的一些字符串。
"AppSettings": {
"Token": "my super duper secret token"
}
如何在Azure上部署github之后将my super duper secret token
更改为我的真实令牌?
答案 0 :(得分:15)
据我所知,我们可以在Azure端口的App Settings中配置令牌。 我对此进行了测试,它运行成功,以下是我的详细步骤。
services.Configure<AppSettings>(Configuration.GetSection("AppSettings"))
。
醇>
注意:模型绑定的语法已从RC1更改为RC2。使用
services.Configure<AppSettings>(Configuration.GetSection("AppSettings"))
不再可用为了将设置类绑定到您的配置,您需要在Startup.cs的ConfigureServices方法中配置它:services.Configure<AppSettings>(options => Configuration.GetSection("AppSettings").Bind(options));
答案 1 :(得分:3)
假设网站已作为Azure中的资源存在,您只需在门户中设置应用程序设置/连接字符串即可。这些将在运行时覆盖appsettings.json文件中的那些。 IE浏览器。您的应用程序将首先查看azure应用程序设置/连接字符串,然后在本地文件中查找它们。这是asp.net核心&#34;云首先&#34;的一部分。配置管理方法。将代码部署到app / slot时,这些设置不会被覆盖。
在此处找到blog post,其中更详细地介绍了它,使用.AddEnvironmentVariables()
调用将azure插槽设置添加到配置中。
答案 2 :(得分:0)
开发人员工具设置中有代码编辑功能(设置 - &gt;开发工具 - &gt;应用服务编辑器(预览))。你可以去那里并在那里更改你喜欢的任何文件。但是您可能需要重新启动Web应用程序(通过编辑web.config或其他方式)。您也可以使用Kudu(高级工具),但它不像第一个选项中的Visual Studio Code那样令人愉快。
虽然处理应用程序机密的更先进和更正确的方法是特殊的秘密管理器。您可以在asp.net文档here上阅读更多相关信息。
通常,这是一种从受保护的数据存储加载秘密并使用生产中的环境变量覆盖它们的方法(可以在azure web app中设置)。
答案 3 :(得分:0)