Могу ли я получить доступ к переменным конвейера выпуска с помощью расширения CLI Azure DevOps

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

Могу ли я получить доступ и управлять переменными конвейера выпуска с помощью этого расширения? На странице документации расширения нет ссылок на определения сборки или выпуска.


person DenaliHardtail    schedule 10.09.2020    source источник
comment
Как насчет проблемы? Решил ли приведенный ниже ответ ваш вопрос. Если нет, не могли бы вы сообщить мне последнюю информацию об этой проблеме?   -  person Leo Liu-MSFT    schedule 14.09.2020


Ответы (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. Используйте группу переменных и определите там свою переменную, а затем используйте 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]
person Krzysztof Madej    schedule 11.09.2020