#azure-devops #continuous-integration #yaml #devops #pipeline
Вопрос:
Настройка конвейера сборки azure на основе yml, для публикации артефактов которого требуется имя на основе метки времени. Пытаюсь сделать что-то подобное
'ArtifactName' currentTimeStamp
Как это можно сделать в файле yml?
Ответ №1:
Это должно дать вам ожидаемый результат:
trigger:
- master
pool:
vmImage: ubuntu-latest
steps:
- pwsh: |
Write-Host "Setting up the date time for build variable"
$date=$(Get-Date -format yyyyMMdd-Hmmss)
Write-Host "##vso[task.setvariable variable=currentTimeStamp]$date"
displayName: 'Geting timestamp'
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Pipeline.Workspace)'
artifact: 'ArtifactName-$(currentTimeStamp)'
publishLocation: 'pipeline'
Комментарии:
1. Спасибо за ответ. Могу ли я узнать во втором варианте, почему переменная объявлена как mydate, а при объединении она является отметкой текущего времени
2. Моя ошибка 😉 так и должно быть
currentTimeStamp
.3. ‘ArtifactName’ $(метка текущего времени) выдает ошибку «При анализе сопоставления блоков не найден ожидаемый ключ».