Создание группы экземпляров Azure из конвейеров выпуска

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

Как лучше всего создать группу контейнеров Azure во время конвейера выпуска? Я искал документацию в Microsoft и не могу найти подходящих примеров.

Я думал использовать задание Azure CLI и создать ACR, как я делаю это локально с помощью файла deploy.yaml.

az container create --resource-group myResourceGroup --file deploy-aci.yaml

Пример файла deploy.yaml

apiVersion: 2018-10-01
location: northeurope
name: e2e
properties:
  containers:
  - name: e2etestcafe
    properties:
      image: n1containers.azurecr.io/e2e/e2etestcafe:latest
      resources:
        requests:
          cpu: 2
          memoryInGb: 8
  - name: customerportal
    properties:
      image: n1containers.azurecr.io/e2e/customerportal:latest
      resources:
        requests:
          cpu: 1
          memoryInGb: 1
      ports:
      - port: 80
  osType: Linux
tags: null
type: Microsoft.ContainerInstance/containerGroups

Я не могу найти способ добавить файл к этой работе. Я использую неправильные инструменты для этого, есть ли способ создать конвейер выпуска с существующим файлом yaml, который я использую для создания группы контейнеров?

введите здесь описание изображения


person Patrick Vibild    schedule 14.04.2020    source источник


Ответы (1)


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

Используйте CLI, как вы показали, я не знаю, какой репозиторий вы выбираете, я предполагаю, что вы используете Azure Repos, поэтому вам нужно сначала создать файл YAML, который вы используете для создания экземпляра контейнера. Затем вы можете установить встроенный скрипт следующим образом:

введите здесь описание изображения

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

Или вы можете использовать pipeline.yaml, чтобы задать задание DevOps следующим образом:

# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: AzureCLI@2
  inputs:
    azureSubscription: 'Azure CXP Community Internal Consumption(b83c1ed3-c5b6-44fb-b5ba-2b83a074c23f)'
    scriptType: 'bash'
    scriptLocation: 'inlineScript'
    inlineScript: 'az container create --resource-group charles --file $(System.DefaultWorkingDirectory)/aci.yaml'

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

person Charles Xu    schedule 15.04.2020
comment
Спасибо, также спросил об этом на канале Slack Azuredevops и получил аналогичный ответ, который работает. Могу подтвердить, что это решает проблему. - person Patrick Vibild; 15.04.2020