Правильное управление настройками приложения при использовании VSTS и Azure - PullRequest
0 голосов
/ 03 сентября 2018

Существует два разных способа управления настройками приложения, если вы используете VSTS и Azure. Помните, что это только пример инструментов, используемых для непрерывного развертывания.

Вы можете переопределить файлы JSON (веб-конфигурация в старых системах) в конвейере CD в VSTS или переопределить параметры в разделе «Настройки приложения» Azure. Я просто думаю, какой настройкой нужно управлять, где? Моя идея состоит в том, чтобы управлять настройками, которые зависят от сторонних модулей, таких как базы данных (строки подключения), внешние службы (например, Application Insights) в разделе Параметры приложения Azure. Это может дать вам возможность очень быстро изменить некоторые настройки, если в сторонней системе появятся некоторые изменения.

Материал, который зависит только от приложения, которым я бы управлял в VSTS. А как насчет переключателей функций? Допустим, у вас есть фондовый рынок, и вы создаете модуль, который управляет продажей / покупкой новой криптовалюты под названием Blah. После всех тестов вы решаете сделать релиз функции и взять флаг, который отвечает за включение / отключение новой функции. Где бы вы сняли флажок в настройках приложения в Azure или в конвейере CD в VSTS?

Может быть, есть еще другие типы настроек, которые я не упомянул, и которыми проблематично управлять? Основная причина, по которой я задаю этот вопрос, заключается в том, что управление настройками становится проблематичным, когда приложение растет, очень легко вызвать беспорядок в файлах конфигурации. Скажите, пожалуйста, как правильно управлять настройками приложения в веб-приложении?

Ответы [ 3 ]

0 голосов
/ 04 сентября 2018

Насколько мне известно, правильный подход - это последовательный подход. Мое личное предпочтение (и я полагаю, что это предпочтение многих других, с которыми я работал) состоит в том, чтобы использовать параметры приложения в службе приложений и, следовательно, развертывать эти параметры во время выпуска в разделе «Параметры приложения и конфигурации» развертывания. задача.

Ниже приведены преимущества использования параметров приложения во время выпуска, а не как части сборки:

  1. Настройки регулируются во время выпуска, поэтому артефакт сборки не зависит от среды. Это означает, что вы можете развернуть один и тот же артефакт в любой среде, используя настройки выпуска. Это особенно полезно, если вы развертываете тот же артефакт в среде аварийного восстановления, где параметры отличаются.
  2. Настройки приложения находятся в согласованном месте. Любой, кто вносит изменения в настройки, будет знать, где их искать.
  3. Вам не нужно перестраивать артефакт, если вы вносите изменения в настройки ядра
0 голосов
/ 11 сентября 2018

Я нашел очень хорошие и современные альтернативы для управления настройками приложения: Azure-Resource-Manager

Инфраструктура для вашего приложения обычно состоит из множества компоненты - может быть, виртуальная машина, учетная запись хранения и виртуальные сеть или веб-приложение, база данных, сервер базы данных и сторонние Сервисы. Вы не видите эти компоненты как отдельные объекты, вместо этого вы видите их как связанные и взаимозависимые части единого объекта. Вы хотите развернуть, управлять и контролировать их как группу. лазурь Resource Manager позволяет вам работать с ресурсами в вашем Решение как группа. Вы можете развернуть, обновить или удалить все ресурсы для вашего решения в единой, скоординированной операции. Вы использовать шаблон для развертывания, и этот шаблон может работать для разных такие среды, как тестирование, постановка и производство. Ресурс Менеджер предоставляет функции безопасности, аудита и тегов, чтобы помочь вам управлять своими ресурсами после развертывания.

Имейте в виду, что ресурсы могут быть независимыми. Я также обнаружил, что Amazon создал очень похожую вещь под названием CloudFormation :

AWS CloudFormation предоставляет вам общий язык для описания и обеспечить все ресурсы инфраструктуры в облачной среде. CloudFormation позволяет использовать простой текстовый файл для моделирования и предоставление в автоматическом и безопасном режиме всех необходимых ресурсов для ваших приложений во всех регионах и учетных записей. Этот файл служит единственным источником правды для вашей облачной среды. AWS CloudFormation доступна без дополнительной оплаты, и вы платите только для ресурсов AWS, необходимых для запуска ваших приложений.

0 голосов
/ 04 сентября 2018

Вы можете попробовать использовать расширение Задача настройки Azure WebApp для управления настройками приложения в веб-приложении.

Задача настройки Azure WebApp считывает переменные VSTS и добавляет такие как AppSettings и ConnectionStrings для веб-приложения Azure. Задача также поддерживает настройки слотов. Задача может быть связана с web.config для проверки, если все AppSettings и ConnectionStrings в web.config существует как переменная VSTS.

Вы также можете ссылаться на статьи ниже для управления / настройки параметров приложения:

...