Azure Release Pipeline IIS Web App Развертывание заменяет наборы приложений. json - PullRequest
0 голосов
/ 26 апреля 2020

Я развертываю веб-приложение на сервере onm prim windows через Azure Release Pipeline, который содержит 2 задачи. Управление IIS Web App и развертывание IIS Web App.

Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно заменить параметры приложения. json на совершенно другой файл. У нас есть 3 среды (dev / test / prod), и у каждого из них есть свои собственные настройки приложений. json в управлении исходным кодом.

Я вижу, что есть JSON Замена переменных, но я не Я не хочу подставлять переменные, я хочу сказать: «Эй, используйте этот файл вместо этого».

Как я могу сделать это в Azure Devops? Если я все делаю неправильно, пожалуйста, дайте мне знать. Это то, чем занималась моя компания годами, и я действительно не хочу создавать переменные в конвейере для обновления моих настроек приложений. json.

Спасибо!

Ответы [ 2 ]

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

Хотите ли вы работать с соответствующими настройками приложения. json в соответствии с другой средой? В этом случае основной проект может извлекать данные из файла appsettings.[environment].json в переменную среды ASPNETCORE_ENVIRONMENT .

1.Добавить в проект соответствующие файлы appsettings.[environment].json, например appsettings.Production.json , appsettings.Development.json и установите соответствующее значение в каждом файле.

2.Код в файле запуска:

public Startup(IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                .SetBasePath(env.ContentRootPath)
                .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
                .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
                .AddEnvironmentVariables();
            Configuration = builder.Build();
        }

3. Установите / добавьте ASPNETCORE_ENVIRONMENT переменную среды для каждого компьютера среды ( просто нужно установить / добавить один раз)

Вот ссылка: Конфигурация в ASP. NET Core , case .

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

Вам необходимо создать appsettings.json для каждой среды, а затем изменить свой код следующим образом:

public Startup(IHostingEnvironment env)
{
    var builder = new ConfigurationBuilder()
    .SetBasePath(env.ContentRootPath)
    .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
    .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
    .AddEnvironmentVariables();
    this.configuration = builder.Build();
}

Вам необходимо определить переменную среды с именем ASPNETCORE_ENVIRONMENT со значением для вашей среды Dev, Staging, Wahtever you like env name.

Если вам нужна дополнительная информация, здесь вы найдете отличное сообщение в блоге .

Здесь у вас также есть много информации о настройке вашего env файл. Автоматическая настройка параметров приложения. json для сред разработки и выпуска в asp. net core?

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