nopcommerce 4.0 datasettings.json 改造

nopcommerce 4.0 datasettings.json transform

这可能看起来有点微不足道...但是当 nopcommerce 应用程序部署到各种环境时,您如何着手转换数据库连接。

在 app_data\datasettings.json 中设置了数据库连接。

通常这种类型的东西是用 web.config 转换处理的。

您如何为不同的环境(开发、测试、生产)设置构建转换?

我也在看这个话题。 以我的拙见,nopCommerce 配置很痛苦,因为它真的很难在保持秘密安全的同时进行适当的连续 Integration/Continuous 交付。

在初始部署时,您会看到安装页面。问题是安装过程将一堆文件写入服务器,包括 datasettings.json,其中数据库的连接字符串是硬编码的。

这意味着当我将 nopCommerce 部署到 Azure App Service 时,对于安装后的部署,我必须确保不删除 "additional files on the server" 否则配置将被删除,因为这些配置文件是由安装程序编写的, 不在源代码管理中。

不能使用标准 ASP.NET 连接字符串、环境变量或 KeyVault 确实不切实际。

要回答关于如何对配置文件进行转换的问题,一种可能是使用 PowerShell 脚本直接在应用服务实例上读取、转换和写入配置文件。有一个API。

https://blogs.msdn.microsoft.com/gabeshapiro/2017/01/01/samples-for-using-the-azure-app-service-kudu-rest-api-to-programmatically-manage-files-in-your-site/

https://github.com/projectkudu/kudu/wiki/REST-API

或者,您可以修改源代码以从 Web.Config:

读取

Change the connection string of nopCommerce?