Должен ли я иметь доступ к переменным конвейера выпуска с использованием расширения Azure DevOps CLI

#azure-devops #azure-cli

#azure-devops #azure-конвейеры #azure-cli

Вопрос:

Я установил предварительный выпуск Azure DevOps CLI расширения и подтвердил его установку. Я установил некоторые значения по умолчанию с помощью az devops configure --defaults organization=https://dev.azure.com/XXX project="XXX" . Я могу запустить выпуск с помощью az pipelines release create --definition-name "XXX" . Исходя из этого, кажется, что моя установка хорошая, и я должен быть в состоянии делать то, что я пытаюсь. Кстати, для этого я использую облачную оболочку на портале Azure, но в конечном итоге перенесу свою работу на задачи Azure CLI в классических конвейерах выпуска.

Когда я запускаю следующее:

 az pipelines variable update --org https://dev.azure.com/XXX --project "XXX" --pipeline-name  "XXX" --name "var_name" --value "var_value"
  

Я получаю следующее сообщение:

There were no build definitions matching name "XXX" in project "XXX".

И я получаю то же сообщение, когда запускаю следующее:

 az pipelines variable list --org https://dev.azure.com/XXX--project "XXX" --pipeline-name  "XXX"
  

Одна из проблем, в сообщении содержатся ссылки на определения сборки. Я не указал определение сборки. Это классическое (до YAML) определение выпуска, и оно определенно существует.

Должен ли я иметь доступ к переменным конвейера выпуска и манипулировать ими, используя это расширение? Страница документации расширения не содержит ссылок на определения сборки или выпуска.

Комментарии:

1. Как насчет проблемы? Разрешен ли приведенный ниже ответ на ваш вопрос, если нет, не могли бы вы сообщить мне последнюю информацию об этой проблеме?

Ответ №1:

Этот параметр CLI предназначен для конвейеров, а не для релизов. Вы можете выбрать один из двух возможных обходных путей.

  1. Используйте общую команду
 az devops invoke --org https://dev.azure.com/thecodemanual/ --area release --resource definitions --http-method Put --route-parameters project="DevOps Manual" definitionId=7 --in-file 9.json --api-version 5.1  
  

в 9.json у меня есть определение выпуска, получаемое через эту конечную точку

 https://vsrm.dev.azure.com/{{organization}}/{{project}}/_apis/release/definitions/7?api-version=6.1-preview.4
  

с измененными переменными раздел:

     "variables": {
        "ReleaseVersion": {
            "value": "Version-from-cli"
        }
    },
  

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

Пожалуйста, имейте в виду, что переменные области видимости этапа отображаются в области определения этапа.

  1. Используйте переменную group и определите там свою переменную, а затем используйте CLI из переменных групп.
 az pipelines variable-group variable update --group-id
                                            --name
                                            [--detect {false, true}]
                                            [--new-name]
                                            [--org]
                                            [--project]
                                            [--prompt-value {false, true}]
                                            [--secret {false, true}]
                                            [--value]