nopcommerce 4.0 datasettings.json transform - PullRequest
0 голосов
/ 15 мая 2018

Это может показаться немного тривиальным ... но как вы преобразуете соединение db для приложения nopcommerce, когда оно развернуто в различных средах.

Соединение с БД устанавливается в app_data \ datasettings.json.

Обычно этот тип материала обрабатывается с помощью преобразований web.config.

Как вы настраиваете трансформации сборки для разных сред (dev, test, prod)?

1 Ответ

0 голосов
/ 30 августа 2018

Я тоже осматриваю эту тему. По моему скромному мнению, конфигурация nopCommerce - это боль, потому что она действительно затрудняет правильную непрерывную интеграцию / непрерывную доставку, сохраняя секреты в безопасности.

При первоначальном развертывании вас приветствует страница установки. Проблема заключается в том, что процесс установки записывает на сервер кучу файлов, включая datasettings.json, где строка подключения к БД жестко задана.

Это означает, что при развертывании nopCommerce в службе приложений Azure для развертываний после установки я должен убедиться, что НЕ удаляются «дополнительные файлы на сервере», иначе конфигурация будет удалена, поскольку эти файлы конфигурации записаны установщиком. , не находятся в системе контроля версий.

Практически нецелесообразно использовать стандартные строки подключения 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:

Изменить строку подключения nopCommerce?

...