Контекст:
У меня есть два определения сборки YAML в одном и том же репозитории Git DevOps Git.Файлы YAML находятся в отдельных папках component1
и component2
, триггеры сборки фильтруются по пути.Вот файлы YAML:
Первый файл в папке component1
:
name: 1.0$(Rev:.rr)
trigger:
branches:
include:
- master
- release/*
paths:
include:
- component1
resources:
- repo: self
steps:
- task: CopyFiles@2
displayName: My Copy Step
inputs:
SourceFolder: 'component1'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
displayName: Publish Artifacts
Второй файл в папке component2
:
name: 1.0$(Rev:.rr)
trigger:
branches:
include:
- master
- release/*
paths:
include:
- component2
resources:
- repo: self
steps:
- task: CopyFiles@2
displayName: My Copy Step
inputs:
SourceFolder: 'component2'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
displayName: Publish Artifacts
У меня также естьОсвободить конвейер, который запускается обоими артефактами, и развернуть последний из этих обоих артефактов.
Моя цель:
Чего я хочу добиться - это когда автоматически создается релиз, я хочу отфильтровать артефакты, чтобы в выпуске использовались последние артефакты, возникшие из ""ветвь".
Так что, если я помещу это в последовательность, это будет выглядеть так:
- Я изменю файл в
component1
в ветке master
. - Определение сборки
component1
вступает в силу и создает артефакт на основе ветви master
. - Конвейер выпуска запускается из-за создания артефакта на шаге 2 и артефактовдля этого выпуска используются последние версии, созданные в ветви
master
, для обоих артефактов
Затем я делаю следующую последовательность:
- Я изменяю файл в
component2
в ветви release
. - Сборка
component2
определение запускает и создает артефакт на основе ветви release
. - Конвейер выпуска запускается из-за создания артефакта на шаге 2, и артефакты, использованные для этого выпуска, являются последними версиями, которые были созданыиз ветки
release
.НЕ последний из предыдущей последовательности, для обоих артефактов.
Проблема / Вопрос:
Кажется, что пока нет выбора для выбора источникаветвится динамически.Я пытался использовать переменную $(Release.Artifacts.{Artifact alias}.SourceBranchName)
для поля «Версия по умолчанию», но это не вызвало бы выпуск.
Моя цель выполнима?И если да, то как?