При использовании ##vso[task.setvariable
способа установки переменной в скрипте значение переменной должно работать для последующих задач, но не текущей задачи. Попробуйте что-то вроде этого:
- task: Bash@3
inputs:
targetType: 'inline'
script: |
# Write your commands here
echo "##vso[task.setvariable variable=dockertag]$(Build.SourceVersion)|cut -c-7"
echo $(Build.SourceVersion)
echo done
- task: Bash@3
inputs:
targetType: 'inline'
script: |
echo $(Build.SourceVersion)
echo $(dockertag)
echo '**********'
echo $dockertag
echo '**********'
Результат:
Итак, если ваш первый bash задача хорошо работает для установки переменной dockertag
, в следующих шагах можно использовать переменную в формате $(dockertag)
, а не $dockertag
.
Кроме того, это должно быть echo "##vso[task.setvariable variable=dockertag]$(Build.SourceVersion)|cut -c-7"
.