В нашем azure-pipelines.yml
настроены триггеры, как показано ниже:
scriptsconn
представляет соединение с репо по умолчанию / self
, которое содержит конвейер развертывания yaml.
serviceconn
представляет микросервисное репо, которое мы создаем и разворачиваем с использованием задач шаблона и публикации sh.
У нас есть несколько микросервисов с похожими конвейерами сборки, поэтому этот подход является попыткой уменьшить объем работы, необходимый для обновления этих шагов.
Сейчас проблема, с которой мы сталкиваемся, имеет две стороны:
независимо от того, какую ветку мы указываем в разделе scriptsconn
resources -> repositories, триггеры сборки за каждый коммит на каждую ветку в репо.
независимо от того, как мы настроим триггер для serviceconn
, мы не сможем заставить сборку инициировать какой-либо коммит, созданный PR или объединенный PR.
По ссылке ниже эта конфигурация должна быть довольно простой. Кто-то может указать, какую ошибку мы совершаем?
https://github.com/microsoft/azure-pipelines-yaml/blob/master/design/pipeline-triggers.md#repositories
resources:
repositories:
- repository: scriptsconn
type: bitbucket
endpoint: BitbucketAzurePipelines
name: $(scripts.name)
ref: $(scripts.branch)
trigger:
- develop
- repository: serviceconn
type: bitbucket
endpoint: BitbucketAzurePipelines
name: (service.name)
ref: $(service.branch)
trigger:
- develop
pr:
branches:
- develop
variables:
- name: service.path
value: $(Agent.BuildDirectory)/s/$(service.name)
- name: scripts.path
value: $(Agent.BuildDirectory)/s/$(scripts.name)
- name: scripts.output
value: $(scripts.path)/$(release.folder)/$(release.filename)
- group: DeploymentScriptVariables.Dev
stages:
- stage: Build
displayName: Build and push an image
jobs:
- job: Build
displayName: Build
pool:
name: 'Self Hosted 1804'
steps:
- checkout: scriptsconn
- checkout: serviceconn