Я пытаюсь настроить конвейер сборки и выпуска Azure Devops для создания и развертывания задания Databricks с использованием пакета ресурсов Databricks. Я следил за следующей документацией: https://learn.microsoft.com/en-us/azure/databricks/dev-tools/ci-cd/ci-cd-azure-devops
Конвейер сборки — простой, как показано ниже, который запускается при слиянии с основной и развивающейся ветвями.
trigger:
branches:
include:
- feature/azure-pipeline
pool:
vmImage: ubuntu-22.04
steps:
- checkout: self
clean: true
fetchDepth: 1
persistCredentials: true
- bash: echo $(Build.SourceBranch)
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.SourcesDirectory)'
includeRootFolder: false
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
- task: PublishBuildArtifacts@1
inputs:
ArtifactName: 'DatabricksBuild'
Теперь в релизе у меня есть переменная env, которая будет зависеть от ветки, запускающей сборку. Как мне сохранить имя триггерной ветки в конвейере сборки, чтобы использовать его в выпускной части конвейера?
Насколько я понимаю, вам нужно получить имя ветки в конвейере выпуска; фиксации/слияния в эту ветку запускают восходящий конвейер сборки, который затем создает артефакты и запускает нижестоящий конвейер выпуска.
Для этого вы можете напрямую использовать Предопределенные переменные из $(Build.SourceBranch)
и $(Build.SourceBranchName)
в конвейере выпуска; Azure Pipelines заполняет такие переменные для назначенного основного артефакта.
Если вы добавили несколько артефактов, сгенерированных разными конвейерами сборки, вы также можете использовать $(Release.Artifacts.{alias}.SourceBranch)
и $(Release.Artifacts.{alias}.SourceBranchName)
, чтобы получить каждую триггерную ветвь различных артефактов конвейера сборки.