Краткое руководство. Создание и развертывание из репозитория в приложениях контейнеров Azure
В этой статье показано, как создать и развернуть микрослужбу в приложениях контейнеров Azure из репозитория GitHub с помощью выбранного языка программирования. В этом кратком руководстве вы создадите образец микрослужбы, которая представляет серверную веб-службу API, которая возвращает статическую коллекцию музыкальных альбомов.
Этот пример приложения доступен в двух версиях. Одна версия включает контейнер, в котором источник содержит Dockerfile. Другая версия не имеет Dockerfile. Выберите версию, которая лучше всего отражает исходный код. Если вы не знакомы с контейнерами, выберите параметр No Dockerfile в верхней части.
Примечание.
Вы также можете создать и развернуть это пример приложения из локальной файловой системы. Дополнительные сведения см. в статье "Сборка из локального исходного кода" и развертывание приложения в приложениях контейнеров Azure.
На следующем снимке экрана показаны выходные данные развернутой службы 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-адреса.
Очистка ресурсов
Если вы не собираетесь продолжать работу с руководством по развертыванию внешнего интерфейса , вы можете удалить ресурсы Azure, созданные в рамках этого краткого руководства, с помощью следующей команды.
Внимание
Следующая команда удаляет указанную группу ресурсов и все ресурсы, содержащиеся в ней. Если группа содержит ресурсы вне области этого краткого руководства, они также удаляются.
az group delete --name $RESOURCE_GROUP
Совет
Возникли проблемы? Сообщите о них в репозитории Azure Container Apps на GitHub.
Следующие шаги
Завершив работу с этим кратким руководством, вы можете продолжить работу с руководством по обмену данными между микрослужбами в приложениях контейнеров Azure, чтобы узнать, как развернуть интерфейсное приложение, которое вызывает API.