Когда вы создаете новый конвейер CI, вы можете добавить задание агента и задание без агента.
Мой первый вопрос: почему необходимо выбирать репозиторий при создании задания без агента? Почему так зависит репозиторий?
Можно ли создать конвейер CI без выбора репозитория?
заранее спасибо
Ожидается создание безагентного CI без выбора репозитория git в Azure Devops.
Я использую классический редактор, но я пробовал даже YAML
Нет, невозможно создать конвейер непрерывной интеграции (YAML) без репозитория. В случае YAML он должен где-то хранить файл YAML (справа: в репо).
В вашем случае для работы без агента просто используйте «пустой» репозиторий только с YAML, который затем идеально версионируется через git ;-)
Основываясь на ваших последних комментариях (ниже):
У меня есть несколько репозиториев, и в основной ветке я настраиваю проверка КИ. например, я получил репо x с x_CI-verify и x_CI-build репо с y_CI-verify и y_CI-build и так далее.
В мастере ветки для каждого репо я должен настроить каждый проверяемый CI. К избегайте настройки по одному для каждого репо нужного CI, который я хочу создайте этот «главный CI», который будет построен, получите имя репо (имя x) и создайте x_CI-verify.
Лучше всего работать с шаблонами. Затем на эти шаблоны можно ссылаться из ваших репозиториев X, Y и т. д.
[]
Вам все еще нужно создать azure-pipeline.yml
в репозитории X, Y и использовать шаблон:
resources:
repositories:
- repository: templates
type: git
name: Build-Templates
extends:
template: apps.yml@templates
Подробнее о шаблонах, например об использовании с параметрами , смотрите документацию здесь.
Когда вы создаете конвейер, вы должны выбрать e repo. Мой сценарий: у меня есть несколько репозиториев с несколькими конвейерами CI. Я хочу создать давайте вызовем главный CI, который динамически на основе некоторых входных данных может найти и построить правильный. Хотя конвейеры зависят от репозитория, этот сценарий невозможен.
@user3224701 user3224701 Хорошо, я отредактировал свой ответ. Но я думаю, что мне все еще не хватает некоторых деталей, чтобы помочь вам.
Спасибо за ваше время. Позвольте мне быть более конкретным: у меня есть несколько репозиториев, и в основной ветке я настроил CI проверки. например, я получил репозиторий x с x_CI-verify и x_CI-build, репозиторий y с y_CI-verify и y_CI-build и так далее. В мастере ветки для каждого репо я должен настроить каждый проверяемый CI. Чтобы избежать настройки одного за другим для каждого репо правильного CI, я хочу создать этот «главный CI», который создается, получить имя репо (имя x) и построить x_CI-verify. Я надеюсь быть ясным
@ user3224701 вы можете добиться этого, создав централизованный общий шаблон, который будет содержать generic_CI-verify
и generic_CI-build
. Все, что нужно сделать репозиторию x или репозиторию y, — это вызвать этот общий шаблон и передать свои параметры в свой конвейер YAML. Дайте мне знать, если вам нужен образец этого.
@user3224701 user3224701 это уже было немного в моем ответе, но я попытался переписать его под ваши нужды
Спасибо, ребята, за вашу поддержку. Я пробовал сам, но безрезультатно. Я видел больше руководств, и я не понимаю, как вызвать этот generic_CI-Verify и передать значение переменной.
Нет, невозможно создать конвейер без выбора репозитория. Причина в том, что репозиторий нужно выбирать на уровне Pipeline, а не на уровне задания. Это означает, что когда мы создаем новый конвейер, он настроен на несколько этапов, и эти этапы могут иметь несколько заданий (агента/без агента). Необходимо добавить репозиторий, чтобы добавить гибкости конвейеру, который должен иметь возможность ссылаться на существующий сценарий или файл YAML в системе управления версиями, настроенной ранее.
Если в будущем Azure DevOps планирует добавить функцию для создания автономных безагентных заданий, то было бы разумно отказаться от репозиториев.
Вы создаете пайплайны с помощью YAML или классического редактора?