这可能看起来有点微不足道......但是,如果将nopcommerce应用程序部署到各种环境,您如何转换数据库连接。
db连接在app_data \ datasettings.json中设置。
通常这种类型的东西是用web.config转换处理的。
你如何为不同的环境(开发,测试,产品)设置构建转换?
我也在看这个话题。在我看来,nopCommerce配置很痛苦,因为它使得在保持秘密安全的同时进行适当的持续集成/持续交付变得非常困难。
在初始部署时,您将看到安装页面。问题是安装过程将一堆文件写入服务器,包括datasettings.json,其中DB的连接字符串是硬编码的。
这意味着当我将nopCommerce部署到Azure App Service时,对于安装后的部署,我必须确保不删除“服务器上的其他文件”或者配置将被删除,因为安装程序编写的这些配置文件不是在源代码管理中。
不能使用标准ASP.NET连接字符串,环境变量或KeyVault是不切实际的。
要回答有关如何对配置文件进行转换的问题,可以使用PowerShell脚本直接在App Service实例上读取,转换和编写配置文件。有一个API。
https://github.com/projectkudu/kudu/wiki/REST-API
或者,您可以修改源以从Web.Config中读取: