Azure DevOps CI с веб-приложениями для контейнеров - PullRequest
1 голос
/ 15 марта 2020

Я пытаюсь настроить процесс CI для веб-приложения в Azure. Я привык развертывать встроенный код непосредственно в веб-приложениях в Azure, но решил использовать docker на этот раз.

В конвейере сборки я создаю docker изображения и пу sh их в Azure Реестр контейнеров, помеченный последним номером сборки. В конвейере выпуска (в котором есть DEV, TEST и PROD) мне нужно развернуть эти образы в веб-приложениях каждой среды. В выпусках Azure доступны две соответствующие задачи: «Azure Служба приложения развернута» и «Azure Веб-приложение для контейнеров». Ни один из них не позволяет установить источник изображения для веб-приложения на Azure Conntainer Registry. Вместо этого они берут пользовательские имена реестра / репозитория и устанавливают источник изображения в веб-приложении как Частный реестр, который затем требует логин и пароль. Я также развертываю все ресурсы Azure с использованием шаблонов ARM, поэтому мне не нравится идея настройки учетных данных, когда 2 ресурса (реестр и веб-приложение) уже интегрированы. В идеале я бы мог настроить веб-приложение на использование репозитория и тега в Azure Registry Container, который я указал в выпуске. Я даже попытался сначала вручную настроить веб-приложения с указанными c репозиториями и тегами, а затем попытался изменить теги, используемые веб-приложениями в выпуске (с упомянутыми мною задачами), но это не сработало. Теги остаются прежними.

Другой вариант, который я рассмотрел, состоял в том, чтобы настроить все веб-приложения для указания c и постоянных репозиториев и тегов (например, «dev-latest») с самого начала (что не совсем подходит с развертываниями ARM, поскольку контейнеры должны существовать в реестре, прежде чем можно будет настраивать веб-приложения, чтобы автоматизация моей инфраструктуры была неполной), включите «Непрерывное развертывание» в веб-приложениях, а затем соответствующим образом отметьте последние отправленные репозитории в выпуске, чтобы они быть поднятым веб-приложениями. Я не смог найти приемлемый способ добавить теги в существующие репозитории в Реестре.

Каков Azure лучший метод для CI с контейнерными веб-приложениями? Как люди на самом деле строят свои контейнеры, а затем разворачивают их в каждой среде?

1 Ответ

0 голосов
/ 16 марта 2020

Просто настройте конвейер CI для построения образа и , отправив его в реестр контейнеров .

Затем вы можете использовать оба Azure Развертывание службы приложений и Azure Задача Web App for Containers для управления развертыванием.

Задача Azure WebApp Container, аналогичная другим встроенным задачам Azure, требует Azure служебного соединения в качестве входа. В сервисном подключении Azure хранятся учетные данные для подключения с Azure Pipelines или Azure DevOps Server к Azure.

I'm also deploying all Azure resources using ARM templates so I don't like the idea of configuring credentials when the 2 resources (the Registry and the Web App)

Вы также можете Разверните Azure Веб-приложение для контейнеров с ARM и Azure DevOps .

How do people actually build their containers and then deploy them to each environment?

Пожалуйста, ознакомьтесь с приведенными ниже блогами и официальными документами c, которые могут быть полезным:

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