Как сохранить настройки среды из репозитория git - PullRequest
0 голосов
/ 06 апреля 2020

Я хотел бы иметь возможность загружать различные конфигурации в зависимости от среды, в которой я работаю (Разработка или Производство). Чтобы сделать это, я следовал за статьей на https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-3.1.

В статье было указано, что мне нужно добавить параметр ASPNETCORE_ENVIRONMENT=Development к launchSettings.json для локального запуска моего приложения в разделе «Разработка». окружающая обстановка. Теперь проблема в том, что launchSettings.json также отправляется в репозиторий GIT. Это означает, что мой код всегда будет работать в среде разработки. Что если у меня есть какой-нибудь конвейер CI / CD, подключенный к моему хранилищу? Я предполагаю, что это развернет мое приложение в «Разработка» вместо «Производство», что, очевидно, неправильно.

Что мне здесь не хватает?

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Мы используем переменные среды на «хосте» или docker контейнере, чтобы перезаписать несколько настроек, например, ASPNETCORE_ENVIRONMENT = Production

Мы начали с конфигурации, поданной на хосте, которая перезаписывала бы настройки приложений, но этот подход не помог хорошо масштабируется. Теперь мы устанавливаем переменные среды при развертывании приложения (для нас контейнер docker).

Если вы используете «CreateDefaultBuilder», переменные среды будут перезаписывать все параметры, кроме аргументов командной строки, как вы можете читай здесь: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-3.1

0 голосов
/ 06 апреля 2020

Может быть, вы должны использовать что-то вроде .gitignore ? Просто создайте его в каталоге git root и запишите в него launchSettings.json. Затем запустите git rm --cached. После этого файл launchSettings.json больше не должен фиксироваться git. Я тоже не очень знаком с git, поэтому не упустил возможности обнаружить любую ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...