Сбой конвейеров, одновременно развернутых на триггере?

#azure #azure-pipelines #azure-data-factory #azure-triggers

#azure #azure-конвейеры #azure-data-factory #azure-триггеры

Вопрос:

Установлен триггер для запуска конвейеров в 5 утра.

 Pipeline name: 5_AM_Trigger
Pipelines running on trigger: Pipeline_A, Pipeline_B
  

Я работал над Pipeline_C, а другой разработчик работает над Pipeline_D. В итоге мы развернули один и тот же триггер примерно в одно и то же время.

Развертывание, выполненное для запуска мной:

 Before deployment: 
Pipelines on trigger: Pipeline_A, Pipeline_B

After deployment:
Pipelines on trigger: Pipeline_A, Pipeline_B, Pipeline_C
  

Развертывание, выполненное для запуска другим разработчиком (через несколько минут после моего развертывания):

 Before deployment: 
Pipelines on trigger: Pipeline_A, Pipeline_B 

After deployment:
Pipelines on trigger: Pipeline_A, Pipeline_B, Pipeline_D
  

Причина, по которой я узнал, почему Pipeline_C не появился в триггере, потому что другой разработчик не обновил браузер после моего развертывания и в итоге добавил свой конвейер к предыдущим конфигурациям триггера (2 конвейера), перезаписав триггер новыми конфигурациями (3 конвейера).

Является ли это уважительной причиной? Если да, есть ли решение этой проблемы?

 Expected pipelines on trigger after both deployments: Pipeline_A, Pipeline_B, Pipeline_C, Pipeline_D
Actual pipelines on trigger after both deployments: Pipeline_A, Pipeline_B, Pipeline_D
  

Комментарии:

1. Устанавливаете ли вы триггер в файле yaml в Azure DevOps ( dev.azure.com/xxx )? Как правило, триггер устанавливается в каждом файле yaml, Pipeline_C и Pipeline_D не должны влиять друг на друга, не могли бы вы показать нам, как вы устанавливаете триггер? learn.microsoft.com/en-us/azure/devops/pipelines/process /.

2. @CeceDong-MSFT У меня есть триггер, созданный в adf.azure.com -> Управление -> Триггеры -> Создать Создать -> затем ввел данные для имени триггера, описания, расписания, повторной проверки и т. Д. И активировал. После этого adf.azure.com -> Автор -> Конвейер -> Триггер -> Создать / Редактировать -> Выбрал имя триггера, который уже был создан, а затем -> Проверить -> Проверить все -> опубликовал Это сработало, поскольку многие конвейеры работают с триггерами, созданными некоторое время назад, но эта проблема возникает только тогда, когдадва человека одновременно развертывают конвейеры на один и тот же триггер, когда один конвейер переопределяет другой без получения последних изменений.

Ответ №1:

Публикация в реальном режиме фабрики данных (когда она не подключена к GIT) совпадает с опцией сохранения. Когда другой пользователь работает над устаревшей копией и публикует изменения в тех же компонентах, с которыми работали другие, ожидается, что эти изменения будут перезаписаны.

Чтобы избежать этого, когда над проектом работают несколько членов команды, предлагается использовать режим GIT, в котором все могут использовать отдельные ветки, а публикация может быть выполнена из ветки совместной работы после объединения всех изменений.

Комментарии:

1. можете ли вы добавить дополнительную информацию о своем ответе или какие-либо ссылки, на которые я могу взглянуть?