Зависимость от репозитория конвейера

Когда вы создаете новый конвейер CI, вы можете добавить задание агента и задание без агента.

Мой первый вопрос: почему необходимо выбирать репозиторий при создании задания без агента? Почему так зависит репозиторий?

Можно ли создать конвейер CI без выбора репозитория?

заранее спасибо

Ожидается создание безагентного CI без выбора репозитория git в Azure Devops.

Вы создаете пайплайны с помощью YAML или классического редактора?

Sibtain 01.02.2023 13:40

Я использую классический редактор, но я пробовал даже YAML

user3224701 01.02.2023 14:09
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
81
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Нет, невозможно создать конвейер непрерывной интеграции (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 и т. д.

[template example]

Вам все еще нужно создать azure-pipeline.yml в репозитории X, Y и использовать шаблон:

resources:
  repositories:
  - repository: templates
    type: git
    name: Build-Templates

extends:
  template: apps.yml@templates

Подробнее о шаблонах, например об использовании с параметрами , смотрите документацию здесь.

Когда вы создаете конвейер, вы должны выбрать e repo. Мой сценарий: у меня есть несколько репозиториев с несколькими конвейерами CI. Я хочу создать давайте вызовем главный CI, который динамически на основе некоторых входных данных может найти и построить правильный. Хотя конвейеры зависят от репозитория, этот сценарий невозможен.

user3224701 01.02.2023 17:33

@user3224701 user3224701 Хорошо, я отредактировал свой ответ. Но я думаю, что мне все еще не хватает некоторых деталей, чтобы помочь вам.

promicro 01.02.2023 17:39

Спасибо за ваше время. Позвольте мне быть более конкретным: у меня есть несколько репозиториев, и в основной ветке я настроил CI проверки. например, я получил репозиторий x с x_CI-verify и x_CI-build, репозиторий y с y_CI-verify и y_CI-build и так далее. В мастере ветки для каждого репо я должен настроить каждый проверяемый CI. Чтобы избежать настройки одного за другим для каждого репо правильного CI, я хочу создать этот «главный CI», который создается, получить имя репо (имя x) и построить x_CI-verify. Я надеюсь быть ясным

user3224701 01.02.2023 17:50

@ user3224701 вы можете добиться этого, создав централизованный общий шаблон, который будет содержать generic_CI-verify и generic_CI-build. Все, что нужно сделать репозиторию x или репозиторию y, — это вызвать этот общий шаблон и передать свои параметры в свой конвейер YAML. Дайте мне знать, если вам нужен образец этого.

Sibtain 01.02.2023 23:29

@user3224701 user3224701 это уже было немного в моем ответе, но я попытался переписать его под ваши нужды

promicro 02.02.2023 10:37

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

user3224701 04.02.2023 21:00

Нет, невозможно создать конвейер без выбора репозитория. Причина в том, что репозиторий нужно выбирать на уровне Pipeline, а не на уровне задания. Это означает, что когда мы создаем новый конвейер, он настроен на несколько этапов, и эти этапы могут иметь несколько заданий (агента/без агента). Необходимо добавить репозиторий, чтобы добавить гибкости конвейеру, который должен иметь возможность ссылаться на существующий сценарий или файл YAML в системе управления версиями, настроенной ранее.

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

Другие вопросы по теме