Создание и отправка образов Docker в Реестр контейнеров Azure с помощью шаблонов Docker

Azure DevOps Services

В этом пошаговом руководстве вы узнаете, как настроить конвейер непрерывной интеграции для создания контейнерного приложения. Новые запросы на вытягивание активируют конвейер для создания и публикации образов Docker в Реестр контейнеров Azure.

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

Получение кода

Клонируйте или клонируйте пример приложения pipeline-javascript-docker :

https://github.com/MicrosoftDocs/pipelines-javascript-docker

Создание реестра контейнеров

  1. Войдите в Azure и нажмите кнопку Azure Cloud Shell в правом верхнем углу.

    Azure Cloud Shell button

  2. Выполните следующие команды, чтобы создать группу ресурсов и Реестр контейнеров Azure с помощью Azure CLI.

    # Create a resource group
    az group create --name myapp-rg --location eastus
    
    # Create a container registry
    az acr create --resource-group myapp-rg --name mycontainerregistry --sku Basic
    

Примечание.

Имя реестра контейнеров должно быть строчным регистром.

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

Важно!

Чтобы развернуть образ Docker из Реестр контейнеров Azure, необходимо включить учетную запись администратора. Дополнительные сведения см. в разделе "Проверка подлинности реестра контейнеров".

Создание конвейера

  1. Войдите в свою организацию Azure DevOps и откройте нужный проект.

  2. Выберите "Конвейеры" и выберите "Создать конвейер ", чтобы создать новый конвейер.

    Create a new pipeline

  3. Выберите GitHub YAML и выберите "Авторизовать Azure Pipelines ", чтобы предоставить соответствующие разрешения для доступа к репозиторию.

  4. Возможно, вам будет предложено войти в GitHub. В этом случае введите учетные данные GitHub и выберите репозиторий из списка репозиториев.

  5. На вкладке "Настройка" выберите Docker — build and push a image to Реестр контейнеров Azure task.

    Build and push Docker images to Azure Container Registry

  6. Выберите подписку Azure и нажмите кнопку "Продолжить".

  7. Выберите реестр контейнеров в раскрывающемся меню, а затем укажите имя образа в образе контейнера.

  8. Нажмите кнопку "Проверить" и настроить ее после завершения.

    A screenshot showing how to configure a docker pipeline to build and publish an image to Azure Container Registry

    По мере создания конвейера в Azure Pipelines он будет:

    • Создайте подключение службы реестра Docker, чтобы конвейер мог отправлять образы в реестр контейнеров.

    • Создайте файл azure-pipelines.yml, который определяет ваш конвейер.

  9. Просмотрите YAML конвейера, а затем нажмите кнопку "Сохранить и запустить ", когда будете готовы.

    Review your pipeline, save & run

  10. Добавьте сообщение о фиксации, а затем нажмите кнопку "Сохранить и запустить", чтобы зафиксировать изменения и запустить конвейер.

  11. По мере запуска конвейера выберите задание сборки для просмотра конвейера в действии.

    Monitor builds

Как мы создадим конвейер

Конвейер, созданный в предыдущем разделе, был создан из шаблона контейнера Docker YAML. Этап сборки использует задачуDocker@2 Docker для сборки и отправки образа Docker в реестр контейнеров.

- stage: Build
  displayName: Build and push stage
  jobs:  
  - job: Build
    displayName: Build job
    pool:
      vmImage: $(vmImageName)
    steps:
    - task: Docker@2
      displayName: Build and push an image to container registry
      inputs:
        command: buildAndPush
        repository: $(imageRepository)
        dockerfile: $(dockerfilePath)
        containerRegistry: $(dockerRegistryServiceConnection)
        tags: |
          $(tag)

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

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

az group delete --name myapp-rg