Я пытаюсь сгенерировать имя для пакета NuGet в конвейере YAML Azure DevOps.
Контекст создает пакеты в каждой автоматизированной сборке с именем пакета, именем ветви, датой и возрастающим номером редакции.
PACKAGENAME-branchName год-месяц-день-ревизионная
Таким образом, при создании новой функциональной ветви будет создан уникальный пакет, который можно использовать для тестирования в проектах, которые в этом нуждаются.
Я пытаюсь установить переменную в файле YAML из переменных среды, таких как дата или номер редакции.
Используя команду ## vso, я могу установить для myVariable значение hello и распечатать его.
- script: |
echo '##vso[task.setvariable variable=myVariable]hello'
- script: |
echo my variable is $(myVariable)
Когда я пытаюсь установить переменную из PowerShell, как показано ниже, я получаю следующую ошибку «# $ dateStr» не распознается как внутренняя или внешняя команда ».
# Create a variable
- script: |
#$dateStr = (Get-Date).ToString('yyyy-MM-dd')
echo '##vso[task.setvariable variable=myVariable]#$dateStr'
# Print the variable
- script: |
echo my variable is $(myVariable)
Когда я пытаюсь установить переменную в разделе переменных файла YAML следующим образом.
variables:
solution: '**/*.sln'
foo: $(Date:yyyyMMdd)
- script: |
echo my variable is $(foo)
Переменная не интерполируется и выводится как.
'моя переменная $ (Date: yyyyMMdd)'
Как создать переменные на основе переменных среды, таких как $ (rev) и $ (Date)?