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: 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.
repositories:
- repository: string # Required as first property. Alias for the repository.
  endpoint: string # ID of the service endpoint connecting to this repository.
  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 字符串。
连接到此存储库的服务终结点的 ID。

triggertrigger
此存储库的 CI 触发器;如果省略,则不触发 CI 触发器。

重要

  • 存储库资源触发器仅支持Azure Repos Git 存储库。
  • 存储库资源触发器不支持 batch

name 字符串。
存储库名称。 格式取决于“type”;不接受变量。

ref 字符串。
ref name to checkout;默认为“refs/heads/main”。 每当资源触发器触发时,分支默认签出。 支持模板表达式

ref 字符串。
ref name to checkout;默认为“refs/heads/main”。 每当资源触发器触发时,分支默认签出。 不接受变量。

type 字符串。
存储库类型:git、github、githubenterprise 和 bitbucket。

注解

重要

存储库资源不允许 和 ref中的name管道变量。 触发器支持通配符。

属性 (但属性 name) 不支持模板表达式ref。 触发器支持通配符。

重要

存储库资源触发器仅支持Azure Repos Git 存储库。 有关语法的详细信息trigger(包括对分支标记通配符支持),请参阅触发器定义生成Azure Repos Git 或 TFS Git 存储库

重要

存储库资源触发器不支持 batch

如果管道在另一个存储库中具有模板,则必须让系统了解该存储库。

如果管道在另一个存储库中具有模板,或者你想要对需要服务连接的存储库使用多存储库签出,则必须让系统了解该存储库。

类型

管道支持存储库类型的以下值:gitgithubbitbucketgit 类型引用 Azure Repos Git 存储库。

  • 如果指定 type: git,则name该值引用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 存储库需要 Bitbucket Cloud 服务连接进行授权。

有关这些类型的详细信息,请参阅 签出管道中的多个存储库 - 存储库资源定义

变量

在每个运行中,存储库资源的元数据可供采用运行变量形式的所有作业使用。 <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

另请参阅