Поделиться через


Краткое руководство. Создание и развертывание из репозитория в приложениях контейнеров Azure

В этой статье показано, как создать и развернуть микрослужбу в приложениях контейнеров Azure из репозитория GitHub с помощью выбранного языка программирования. В этом кратком руководстве вы создадите образец микрослужбы, которая представляет серверную веб-службу API, которая возвращает статическую коллекцию музыкальных альбомов.

Этот пример приложения доступен в двух версиях. Одна версия включает контейнер, в котором источник содержит Dockerfile. Другая версия не имеет Dockerfile. Выберите версию, которая лучше всего отражает исходный код. Если вы не знакомы с контейнерами, выберите параметр No Dockerfile в верхней части.

Примечание.

Вы также можете создать и развернуть это пример приложения из локальной файловой системы. Дополнительные сведения см. в статье "Сборка из локального исходного кода" и развертывание приложения в приложениях контейнеров Azure.

На следующем снимке экрана показаны выходные данные развернутой службы API альбомов.

Снимок экрана: ответ конечной точки API альбомов.

Необходимые компоненты

Чтобы завершить этот проект, вам потребуется следующее:

Требование Instructions
Учетная запись Azure Если у вас нет учетной записи, создайте бесплатную учетную запись. Чтобы продолжить, вам потребуется разрешение участника или владельца подписки Azure.

Дополнительные сведения см. в статье "Назначение ролей Azure" с помощью портал Azure.
Учетная запись GitHub Получите его бесплатно.
git Установка Git
Azure CLI Установите интерфейс командной строки Azure.

Настройка

Чтобы войти в Azure из ИНТЕРФЕЙСА командной строки, выполните следующую команду и следуйте инструкциям, чтобы завершить процесс проверки подлинности.

az login

Чтобы убедиться, что вы используете последнюю версию интерфейса командной строки, выполните команду обновления.

az upgrade

Затем установите или обновите расширение "Приложения контейнеров Azure" для интерфейса командной строки.

Если при выполнении az containerapp команд в Azure CLI или командлетах из модуля Azure PowerShell возникают ошибки о отсутствующих параметрах Az.App , убедитесь, что установлена последняя версия расширения "Приложения контейнеров Azure".

az extension add --name containerapp --upgrade

Примечание.

Начиная с мая 2024 г. расширения Azure CLI больше не поддерживают предварительные версии функций по умолчанию. Чтобы получить доступ к функциям предварительной версии контейнерных приложений, установите расширение "Приложения контейнеров" с --allow-preview trueпомощью .

az extension add --name containerapp --upgrade --allow-preview true

Теперь, когда установлено текущее расширение или модуль, зарегистрируйте Microsoft.App пространства имен и Microsoft.OperationalInsights пространств имен.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Создание переменной среды

После завершения настройки Azure CLI вы можете определить переменные среды, которые используются в этой статье.

Определите следующие переменные в оболочке Bash.

export RESOURCE_GROUP="album-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-album-containerapps"
export API_NAME="album-api"
export GITHUB_USERNAME="<YOUR_GITHUB_USERNAME>"

Перед выполнением этой команды обязательно замените <YOUR_GITHUB_USERNAME> имя пользователя GitHub.

Затем определите уникальное имя реестра контейнеров.

export ACR_NAME="acaalbums"$GITHUB_USERNAME

Подготовка репозитория GitHub

В окне браузера перейдите в репозиторий GitHub для предпочитаемого языка и вилки репозитория.

Нажмите кнопку Fork в верхней части репозитория альбома, чтобы вилку репозитория в учетную запись. Затем скопируйте URL-адрес репозитория, чтобы использовать его на следующем шаге.

В окне браузера перейдите в репозиторий GitHub для предпочитаемого языка и вилки репозитория , включая ветви.

Нажмите кнопку Fork в верхней части репозитория альбома, чтобы вилку репозитория в учетную запись. Снимите флажок "Копировать main только ветвь", чтобы также вилить ветвь buildpack .


Создание и развертывание приложения-контейнера

Создайте и разверните первое приложение контейнера из вилированного репозитория GitHub с помощью containerapp up команды. Эта команда:

  • Создание группы ресурсов
  • Создание среды "Приложения-контейнеры" с помощью рабочей области Log Analytics
  • Создание реестра в Реестре контейнеров Azure
  • Создание рабочего процесса GitHub Action для создания и развертывания приложения-контейнера
  • Создание группы ресурсов
  • Создание среды "Приложения-контейнеры" с помощью рабочей области Log Analytics
  • Автоматическое создание реестра по умолчанию в рамках среды
  • Создание рабочего процесса GitHub Action для создания и развертывания приложения-контейнера

При отправке нового кода в репозиторий действие GitHub будет:

  • Создайте образ контейнера и отправьте его в Реестр контейнеров Azure
  • Развертывание образа контейнера в созданном приложении-контейнере

Команда up использует Dockerfile в корне репозитория для создания образа контейнера. Инструкция EXPOSE в Dockerfile определяет целевой порт. Файл Docker не требуется для создания приложения контейнера.

  • Автоматическое обнаружение языка и среды выполнения
  • Создание образа с помощью соответствующего пакета buildpack
  • Отправка образа в реестр приложений контейнеров Azure по умолчанию

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

В следующей команде замените <YOUR_GITHUB_REPOSITORY_NAME> имя репозитория GitHub в виде https://github.com/<OWNER>/<REPOSITORY-NAME> или <OWNER>/<REPOSITORY-NAME>.

В следующей команде замените <YOUR_GITHUB_REPOSITORY_NAME> имя репозитория GitHub в виде https://github.com/<OWNER>/<REPOSITORY-NAME> или <OWNER>/<REPOSITORY-NAME>. --branch buildpack Используйте параметр, чтобы указать пример источника без Файла Dockerfile.

az containerapp up \
  --name $API_NAME \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --context-path ./src \
  --repo <YOUR_GITHUB_REPOSITORY_NAME>
az containerapp up \
  --name $API_NAME \
  --resource-group $RESOURCE_GROUP \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --context-path ./src \
  --ingress external \
  --target-port 8080 \
  --repo <YOUR_GITHUB_REPOSITORY_NAME>
  --branch buildpack
  --

Используя URL-адрес и код пользователя, отображаемый в терминале, перейдите на страницу активации устройства GitHub в браузере и введите код пользователя на страницу. Следуйте инструкциям, чтобы авторизовать Azure CLI для доступа к репозиторию GitHub.

Команда up создает рабочий процесс действия GitHub в папке github/workflows репозитория. Рабочий процесс активируется для сборки и развертывания приложения контейнера при отправке изменений в репозиторий.


Проверка развертывания

Скопируйте доменное имя, возвращаемое containerapp up веб-браузером. В веб-браузере перейдите к конечной точке /albums URL-адреса.

Снимок экрана: ответ конечной точки API альбомов.

Очистка ресурсов

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

Внимание

Следующая команда удаляет указанную группу ресурсов и все ресурсы, содержащиеся в ней. Если группа содержит ресурсы вне области этого краткого руководства, они также удаляются.

az group delete --name $RESOURCE_GROUP

Совет

Возникли проблемы? Сообщите о них в репозитории Azure Container Apps на GitHub.

Следующие шаги

Завершив работу с этим кратким руководством, вы можете продолжить работу с руководством по обмену данными между микрослужбами в приложениях контейнеров Azure, чтобы узнать, как развернуть интерфейсное приложение, которое вызывает API.