Можно ли установить источник динамически в Azure Repos Git? - PullRequest
3 голосов
/ 02 октября 2019

Я ищу решение для динамического выбора ветви для построения в конвейере Azure. У меня есть Azure Repos Git, где я выбираю проект, репозиторий и ветку по умолчанию. Я хотел бы иметь возможность выбрать ветвь на основе переменной.

Сейчас я пытаюсь использовать задачу Command Line и запустить команду git checkout (например, ветвь является переменной):

git checkout $(branch)

Я пока не могу подтвердить, что это работает, но все же Я подтверждаю, что это работает, но я чувствую, что есть лучший вариант, чем проверка ветви по умолчанию, а затемпереключение ветки с помощью командной строки.

1 Ответ

1 голос
/ 03 октября 2019

Обновление:

Если вы хотите иметь один конвейер, который может создавать разные ветви (версии веток) для разных ветвей, вы можете просто указать их в триггере фильтров ветвей. Это не будет строить все ветви.

Ветвь, выбранная вами в определении сборки, является веткой по умолчанию, используемой при постановке в очередь новой сборки вручную. OTOH триггер сборки устанавливает, какую ветку загружать, например, если сборка была инициирована посредством git push на развитие ветки, то это тот, который извлечен и собран. Взгляните на эту ссылку: Получите источники из ветви, которая запустила сборку в Team Services

Кроме того, вы можете отключить шаг get source по умолчанию. Затем вы можете использовать свой собственный скрипт powershell иКоманда git, чтобы получить исходный код вручную (именно то, что вы хотите) и проверить ветку, наконец, построить на основе вашей переменной.


Предполагается, что вы выбираете ветку по умолчанию. Это не означает, что это единственная ветвь, которая может быть построена по этому определению сборки.

Вы можете выбрать, какие ветви отслеживать для CI (на вкладке Triggers вы можете добавить несколькофильтры ветвей для представления веток, которые вы хотите построить при фиксации), и соответствующая ветвь будет извлечена при запуске сборки. Вы также можете выбрать альтернативную ветвь при постановке в очередь на сборку.

Ссылка на источник: Получить источники из нескольких веток

Если выхотите динамически выбирать ветвь по умолчанию , как показано ниже, в настоящее время эта функция недоступна.

enter image description here

Это ветвь, которую вы хотите использовать по умолчанию, когда вы ставите эту сборку в очередь вручную. Если вы установили запланированный триггер для сборки, это ветвь, из которой ваша сборка получит последние источники.

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

Здесь есть связанный голос пользователя: При запуске сборки используйте ту же ветку, что и при сборке триггера. Вы можете проголосовать и проследить за процессом.

...