Добавить дополнительные сопоставления для получения источников во время выполнения (Azure конвейер DevOps - TFV C) - PullRequest
1 голос
/ 16 марта 2020

Можно ли добавить дополнительное сопоставление для получения источников во время выполнения?
Как в задаче предварительного выполнения?

В настоящее время мы используем сценарий Powershell, который определяет, какие дополнительные сопоставления следует настроить на основе итерации, области и различные бизнес-требования, сопоставляет их с текущей рабочей областью и затем запускает tf get.
Это работает, однако наборы изменений и рабочие элементы из дополнительных сопоставлений не связаны с прогоном.

У нас также есть попробовал другой подход, где «стартовый» конвейер запускает сценарии и изменяет другой конвейер (обновляет tfvcMapping), а затем вызывает его с помощью триггера завершения сборки.
Все наборы изменений и рабочие элементы связаны, однако подход делает не кажется правильным.

1 Ответ

0 голосов
/ 17 марта 2020

Добавление дополнительных сопоставлений для получения источников во время выполнения (Azure конвейер DevOps - TFV C)

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

Для первого способа, как и во время тестирования, мы потеряем некоторую соответствующую информацию , что не то, что мы ожидали. Хотя мы можем использовать команду checkout для получения самой последней версии changesets, мы не можем просто завершить ее для рабочих элементов , поскольку она выполняется Azure devops. Нам трудно получить связанные с workitems по changesets и связать их с нашей сборкой.

Для меня решение: мы создаем конвейер (как вы сказали starter -pipeline) для вызова API REST Definitions - Update , чтобы обновить источник получения для другого конвейера, а затем добавить триггер завершения сборки:

PUT https://dev.azure.com/{organization}/{project}/_apis/build/definitions/{definitionId}?api-version=5.1

Проверьте здесь подобное тело запроса .

Надеюсь, это поможет.

...