Переменные Azure по умолчанию не оцениваются в выражении - PullRequest
0 голосов
/ 11 октября 2019

Мне нужно найти и заменить некоторые переменные в файлах конфигурации во время процесса сборки. Я использую vsts-regex-tasks , чтобы сделать это. Он отлично работает для пользовательских переменных, но при попытке обратиться к определенным в Azure переменным оказывается, что переменная не оценивается. Любые идеи?

Example
Find: "RELEASE_NAME"
Replace With: "$(Release.ReleaseName)"
Result: "$(Release.ReleaseName)"

Редактировать:

Я пытался использовать переменные Release в конвейере сборки, а используемый мной плагин не мог прочитать переменные, определенные в Azure, переключаясь на«Replace Tokens» работал как чудо и уменьшил количество шагов сборки для замены нескольких переменных.

1 Ответ

1 голос
/ 11 октября 2019

Во-первых, если метод, который вы использовали для применения выражения с переменной $(Release.ReleaseName), находится в YAML , боясь сказать, что переменные деблокирования не могут быть сформулированы в определении YAML. Хотя мы интегрировали определение выпуска в YAML, но на самом деле его среда все еще принадлежит Build .

См. Note из этого doc :

enter image description here

Все эти переменные выпуска доступны только для Classic конвейера выпуска.

Когда выпытаются использовать YAML для определения и конфигурирования конвейера выпуска, можно формулировать только переменные, перечисленные в doc .

enter image description here


Но, если вы используете тип конфигурации classic вместо YAML, вы должны сначала проверить значение Поиск путей к входным файлам . Как обычно, эту проблему можно проверить из журнала.

Здесь мой проект является тестовым проектом Jmeter, а его файл конфигурации - WebservicePerformanceTest.jmx. Теперь мой пример заменяет одно имя сервисного порта на $(Release.ReleaseName) в этом .jmx файле.

enter image description here

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

enter image description here

Кроме того, есть еще одна задача, также можно достичь того, что вы хотите: Заменить токен . За подробными инструкциями по использованию вы можете обратиться к моему предыдущему ответу .

...