Создайте службу приложений или слот с помощью Powershell - PullRequest
1 голос
/ 16 апреля 2020

Я настраиваю свои конвейеры CI / CD на azure devops. Нашей главной целью является автоматическое создание среды для каждого запроса на извлечение, чтобы наша команда контроля качества могла проверить изменения перед отправкой заявки на проверку кода.

У меня есть azure конвейеры сборки, которые запускают конвейер выпуска при сборке. завершено. Мой конвейер выпуска выполняет следующие этапы:

  1. Этап 1: создание слота службы приложения
  2. Этап 2: развертывание в слоте службы приложения, созданного на этапе 1

Мой вопрос основан на этапе 2:

МОЙ ТЕКУЩИЙ ПРОЦЕСС:

В настоящее время я создаю слот в указанной службе приложений c, чтобы развернуть приложение в этом слоте и моя команда QA может протестировать эту функцию перед проверкой кода. Я использую команду Azure CLI, чтобы сделать это. Я столкнулся с проблемой и должен изменить этот подход, так как я не знал, что у меня есть ограничение в 20 слотов для каждой службы приложения.

ЧТО Я ДОЛЖЕН ДЕЛАТЬ:

Мне нужно настроить Отпустите этап конвейера 2, чтобы автоматически получать все сервисы приложения с указанным тегом c, проверить, достигнут ли лимит слотов; если лимит слотов достигнут, мне нужно создать новую службу приложения, если лимит слотов не достигнут, тогда мне нужно создать слот. Я искал в Интернете, и, очевидно, я могу сделать это sh с помощью Powershell. Вот шаги, которые мне нужно выполнить с помощью Powershell:

  1. Получить список служб приложений с указанным c тегом
  2. L oop через каждую службу приложений. На каждой итерации мне нужно:
    • Получить текущее количество слотов для этой спецификации c Служба приложений
    • Если количество слотов меньше 20, создать новый слот и прервать итерацию
    • Если количество слотов равно 20, переходите к следующей итерации
    • Если все итерации были выполнены и слот не был создан, мне нужно создать новую службу приложения

Как мы можем выполнить sh это с помощью Powershell? Я в основном включу этот PowerShell в мой azure devops release.

1 Ответ

1 голос
/ 16 апреля 2020

Я знаю, что это может быть не тот ответ, который вы ищете. В отличие от использования PowerShell, где вам приходится обрабатывать все детали, я бы предложил перенести ваш конвейер на использование задачи Azure App Service Deploy (https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/azure-rm-web-app-deployment?view=azure-devops).

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

...