Поделиться через


Определение resources.repositories.repository

Ключевое repository слово позволяет указать внешний репозиторий. Используйте ресурс репозитория для ссылки на дополнительный репозиторий в конвейере.

repositories:
- repository: string # Required as first property. Alias for the repository.
  endpoint: string # ID of the service endpoint connecting to this repository.
  trigger: none | trigger | [ string ] # CI trigger for this repository, no CI trigger if skipped (only works for Azure Repos).
  name: string # repository name (format depends on 'type'; does not accept variables).
  ref: string # ref name to checkout; defaults to 'refs/heads/main'. The branch checked out by default whenever the resource trigger fires.
  type: git | github | githubenterprise | bitbucket # Type of repository: git, github, githubenterprise, and bitbucket.
repositories:
- repository: string # Required as first property. Alias for the repository.
  endpoint: string # ID of the service endpoint connecting to this repository.
  trigger: none | trigger | [ string ] # CI trigger for this repository, no CI trigger if skipped (only works for Azure Repos).
  name: string # repository name (format depends on 'type'; does not accept variables).
  ref: string # ref name to checkout; defaults to 'refs/heads/main'. The branch checked out by default whenever the resource trigger fires.
  type: string # Type of repository: git, github, githubenterprise, and bitbucket.
repositories:
- repository: string # Required as first property. Alias for the repository.
  endpoint: string # ID of the service endpoint connecting to this repository.
  trigger: none | trigger | [ string ] # CI trigger for this repository, no CI trigger if skipped (only works for Azure Repos).
  name: string # repository name (format depends on 'type'; does not accept variables).
  type: string # Type of repository: git, github, githubenterprise, and bitbucket.
  ref: string # ref name to checkout; defaults to 'refs/heads/main'. The branch checked out by default whenever the resource trigger fires. Does not accept variables.

Определения, ссылающиеся на это определение: resources.repositories

Свойства

строка repository. Обязательный в качестве первого свойства.
Псевдоним для указанного репозитория. Допустимые значения: [-_A-Za-z0-9]*.

строка endpoint.
Идентификатор конечной точки службы, подключающейся к этому репозиторию.

trigger триггер.
Триггер CI для этого репозитория не активируется, если опущен.

Это важно

  • Триггеры ресурсов репозитория поддерживаются только для репозиториев Azure Repos Git.
  • Триггеры ресурсов репозитория не поддерживаются batch.

строка name.
Имя репозитория. Формат зависит от типа; не принимает переменные.

строка ref.
ссылка на имя для получения; значение по умолчанию — refs/heads/main. Ветвь, извлеченная по умолчанию при срабатывании триггера ресурса. выражения шаблона поддерживаются.

строка ref.
ссылка на имя для получения; значение по умолчанию — refs/heads/main. Ветвь, извлеченная по умолчанию при срабатывании триггера ресурса. Не принимает переменные.

строка type.
Тип репозитория: git, github, githubenterprise и bitbucket.

Замечания

Это важно

Ресурс репозитория не разрешает переменные конвейера в name и ref. Подстановочные знаки поддерживаются в триггерах.

Выражения шаблонов поддерживаются для ref свойства (но не name для свойства). Подстановочные знаки поддерживаются в триггерах.

Это важно

Триггеры ресурсов репозитория поддерживаются только для репозиториев Azure Repos Git. Дополнительные сведения о синтаксисе, включая поддержку подстановочных знаков для ветвей и тегов, см. в trigger разделе "Определение триггера" и "Сборка репозиториев Azure Repos Git или TFS Git".

Это важно

batch не поддерживается в триггерах ресурсов репозитория.

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

Типы

Конвейеры поддерживают следующие значения для типа репозитория: git, githubи bitbucket. Тип git относится к репозиториям Azure Repos Git.

  • При указании type: gitname значение ссылается на имя репозитория Azure Repos Git.

    • Если конвейер находится в том же проекте Azure DevOps, что и репозиторий, например репозиторий с именемtools, вы ссылаетесь на него.name: tools
    • Если конвейер находится в той же организации Azure DevOps, что и репозиторий, но в другом проекте Azure DevOps, например в именованном ToolsProjectпроекте, необходимо указать имя репозитория с именем проекта: name: ToolsProject/tools
  • Если указано type: github, name это полное имя репозитория GitHub и включает пользователя или организацию. Примером является name: Microsoft/vscode. Репозитории GitHub требуют подключения службы GitHub для авторизации.

  • Если указать type: bitbucket, name это полное имя репозитория Bitbucket Cloud и включает пользователя или организацию. Примером является name: MyBitbucket/vscode. Bitbucket Cloud repos требует подключения к облачной службе Bitbucket для авторизации.

Дополнительные сведения об этих типах см. в статье о нескольких репозиториях в конвейере — определение ресурса репозитория.

Переменные

В каждом запуске метаданные ресурса репозитория доступны всем заданиям в виде переменных среды выполнения. Это <Alias> идентификатор, который вы предоставили для ресурса репозитория.

resources.repositories.<Alias>.name
resources.repositories.<Alias>.ref
resources.repositories.<Alias>.type
resources.repositories.<Alias>.id
resources.repositories.<Alias>.url
resources.repositories.<Alias>.version

В следующем примере есть ресурс репозитория с псевдонимом common, а переменные ресурса репозитория доступны с помощью resources.repositories.common.*.

resources:
  repositories:
    - repository: common
      type: git
      ref: main
      name: Repo

variables:
  ref: $[ resources.repositories.common.ref ]
  name: $[ resources.repositories.common.name ]
  id: $[ resources.repositories.common.id ]
  type: $[ resources.repositories.common.type ]
  url: $[ resources.repositories.common.url ]
  version: $[ resources.repositories.common.version ]

steps:
- bash: |
    echo "name = $(name)"
    echo "ref = $(ref)"
    echo "id = $(id)"
    echo "type = $(type)"
    echo "url = $(url)"
    echo "version = $(version)"

Переменные

В каждом запуске метаданные ресурса репозитория доступны всем заданиям в виде переменных среды выполнения. Это <Alias> идентификатор, который вы предоставили для ресурса репозитория.

resources.repositories.<Alias>.name
resources.repositories.<Alias>.ref
resources.repositories.<Alias>.type
resources.repositories.<Alias>.id
resources.repositories.<Alias>.url

В следующем примере есть ресурс репозитория с псевдонимом common, а переменные ресурса репозитория доступны с помощью resources.repositories.common.*.

resources:
  repositories:
    - repository: common
      type: git
      ref: main
      name: Repo

variables:
  ref: $[ resources.repositories.common.ref ]
  name: $[ resources.repositories.common.name ]
  id: $[ resources.repositories.common.id ]
  type: $[ resources.repositories.common.type ]
  url: $[ resources.repositories.common.url ]

steps:
- bash: |
    echo "name = $(name)"
    echo "ref = $(ref)"
    echo "id = $(id)"
    echo "type = $(type)"
    echo "url = $(url)"

Примеры

resources:
  repositories:
  - repository: common
    type: github
    name: Contoso/CommonTools
    endpoint: MyContosoServiceConnection

См. также