Azure Devops передает параметр конвейера между этапами

Как передать параметр из этапа A в этап B?

Выходные параметры — это выходные данные из файла бицепса, вызываемого заданием.

Я хотел бы использовать этот результат на следующем этапе.

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

Спасибо, Иштван

Я попробовал несколько форматов в StageB, но безуспешно.

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
125
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете выполнить следующие шаги, чтобы получить значение вывода в Bicep и передать его между этапами конвейера:

  1. Используйте команду az Deployment Group Show, чтобы получить выходное значение и передать его в переменную. См. «Выходы на бицепс».

    $itmValue = (az deployment group show - g <resource-group-name> -n <deployment-name> --query properties.outputs.itm.value)
    
  2. Используйте команду регистрации «SetVariable», чтобы установить переменную в качестве выходной переменной конвейера.

    Write-Host "##vso[task.setvariable variable=itm;isoutput=true]$itmValue"
    
  3. Затем вы можете передавать выходную переменную конвейера между этапами в рамках одного запуска конвейера. См. «Использовать выходные переменные из задач».

Ниже приведен образец для справки.

variables:
  serviceconnection: xxxx
  resourcegroupname: xxxx
  RunNumber: xxxx

stages:
. . .

- stage: AVDImageTemplateCreator
  dependsOn: AVDImageDefinitionCreator
  jobs:
  - job: AVDinfrastucture
    displayName: 'Create Image Template'
    steps:
    - task: AzureCLI@2
      name: CreateImageTemplates
      displayName: 'Create Image Template'
      inputs:
        azureSubscription: $(serviceconnection)
        scriptType: pscore
        scriptLocation: inlineScript
        inlineScript: |
          az deployment group create `
            -g $(resourcegroupname) `
            -f solutions/avd/avd-cit-imagedep-d.bicep `
            -p parameters/avd/parameters.json `
            -n create_image-$(RunNumber)
          
          $itmValue = (az deployment group show -g $(resourcegroupname) -n create_image-$(RunNumber) --query properties.outputs.itm.value)
          Write-Host "##vso[task.setvariable variable=itm;isoutput=true]$itmValue"

- stage: ImageBuilderRun
  dependsOn: AVDImageTemplateCreator
  # Map the output variable as a stage-level variable for use.
  variables:
    imageTemplateName: $[ stageDependencies.AVDImageTemplateCreator.AVDinfrastucture.outputs['CreateImageTemplates.itm'] ]
  jobs:
  - job: ImageBuilderRun
    displayName: 'Run Azure Image Builder Image Build'
    steps:
    - pwsh: Write-Host "imageTemplateName = $(imageTemplateName)"
      displayName: 'Show value of imageTemplateName'
    # Steps to run the Azure Image Builder

Другие вопросы по теме

Похожие вопросы

Шлюз приложений Azure: изменить общедоступный IP-адрес без простоев?
Импортировать данные в базу данных Azure для гибкого сервера PostgreSQL
SQL-фильтр служебной шины Azure не работает из-за условия
Использование Terraform для развертывания стандартного приложения логики с картами шаблонов Liquid
Передача параметров/значений из конвейера в действие Power Query в ADF
Как создать книгу Azure, которая принимает диапазон времени в формате UTC?
Ошибка при подключении двух клиентов с помощью веб-API в Microsoft Dynamics 365: пользователь не является членом организации
Во время выполнения самостоятельной интеграции не удалось найти ключ аутентификации с помощью пакета SDK Azure.ResourceManager.DataFactory
Python — Служба приложений Azure для контейнеров, запускающая несколько экземпляров Celery Beat и дублирующих задачи
Каналы Django: НЕИЗВЕСТНАЯ ошибка при записи в сокет. Соединение потеряно