Я пытаюсь обновить переменные библиотеки конвейера Devops с помощью задачи Azure Devops через yaml. Это код, который у меня есть
- script: |
echo "Updating variable group..."
echo $(System.AccessToken) | az devops login --organization https://dev.azure.com/<org_name>
echo "Logged in..."
az devops project list -o jsonc
az devops configure --defaults organization=https://dev.azure.com/<org_name>
echo "Configured..."
az pipelines variable-group list --top 6 --query-order Asc --output table --project "Test"
echo "Listing success..."
az pipelines variable-group variable update -p "Test" --group-id 2 --name version --value Test --output table
echo "Update success..."
Однако этот код перестает выполняться после az devops configure --defaults organization=https://dev.azure.com/<org_name>
, а другие команды echo не отображаются в журнале, и ни одна из переменных не обновляется. И стоит отметить отсутствие ошибок. Но если я запускаю те же команды с терминала своего ноутбука, все работает как положено. Я не уверен, что не так с этой командой. Любая помощь будет принята с благодарностью.
Попробуйте что-то вроде этого:
- bash: |
az pipelines variable-group variable update \
--group-id <VARIABLE_GROUP_ID> \
--name <VARIABLE_NAME> \
--value <VARIABLE_VALUE> \
--organization 'https://dev.azure.com/<MY_ORG>/' \
--project '<MY_PROJECT>' \
--output table
displayName: 'Update variable'
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
Примечания:
az devops configure --defaults organization=...
по какой-то причине не работает, вы можете использовать --organization
или --org
непосредственно в командах, которые хотите выполнить.$(System.AccessToken)
достаточно разрешений для перечисления и обновления групп переменных.AZURE_DEVOPS_EXT_PAT
— см. Вход в систему с помощью личного токена доступа (PAT).