Использование предопределенных переменных

Azure DevOps Services | Azure DevOps Server 2022 г. - Azure DevOps Server 2019 г. | TFS 2018

Примечание

В Microsoft Team Foundation Server (TFS) 2018 и предыдущих версий конвейеры сборки и выпуска называются определениями, выполнения называются сборками, подключения к службам называются конечными точками служб, этапы называются средами, а задания называются этапами.

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

Эти переменные автоматически задаются системой и доступны только для чтения. (Исключения: Build.Clean и System.Debug.)

В конвейерах YAML можно ссылаться на предопределенные переменные как на переменные среды. Например, переменная Build.ArtifactStagingDirectory становится переменной BUILD_ARTIFACTSTAGINGDIRECTORY.

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

Дополнительные сведения о работе с переменными.

Build.Clean

Это нерекомендуемая переменная, которая изменяет способ очистки источника агентом сборки. Сведения о том, как очистить источник, см. в статье Очистка локального репозитория в агенте.

System.AccessToken

System.AccessToken — это специальная переменная, которая содержит маркер безопасности, используемый выполняющейся сборкой.

В YAML необходимо явно сопоставить System.AccessToken с конвейером с помощью переменной. Это можно сделать на уровне шага или задачи:

steps:
  - bash: echo This script could use $SYSTEM_ACCESSTOKEN
    env:
      SYSTEM_ACCESSTOKEN: $(System.AccessToken)
  - powershell: | 
      Write-Host "This is a script that could use $env:SYSTEM_ACCESSTOKEN"
      Write-Host "$env:SYSTEM_ACCESSTOKEN = $(System.AccessToken)"
    env:
      SYSTEM_ACCESSTOKEN: $(System.AccessToken)

Вы можете настроить область по умолчанию для System.AccessToken использования область авторизации задания сборки.

System.Debug

Чтобы получить более подробные журналы для отладки проблем конвейера, определите System.Debug и задайте для него значение true.

  1. Измените конвейер.

  2. Выберите элемент Variables (Переменные).

  3. Добавьте новую переменную с именем System.Debug и значением true.

    Присвойте системной отладке значение true.

  4. Сохраните новую переменную.

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

Вы также можете задать значение System.Debug в true качестве переменной в конвейере или шаблоне.

variables:
  system.debug: 'true'

Дополнительные сведения см. в статье Просмотр журналов для диагностики проблем с конвейером.

Переменные агента (DevOps Services)

Примечание

Переменные агента можно использовать в качестве переменных среды в скриптах и в качестве параметров в задачах сборки. Их нельзя использовать для настройки номера сборки или применения метки или тега управления версиями.

ПеременнаяОписание
Agent.BuildDirectory

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

Пример: /home/vsts/work/1

Agent.ContainerMapping

Сопоставление имен ресурсов контейнеров в YAML с их идентификаторами Docker во время выполнения.

Пример:

{
  "one_container": {
    "id": "bdbb357d73a0bd3550a1a5b778b62a4c88ed2051c7802a0659f1ff6e76910190"
  },
  "another_container": {
    "id": "82652975109ec494876a8ccbb875459c945982952e0a72ad74c91216707162bb"
  }
}

Agent.HomeDirectory Каталог, в который устанавливается агент. Он содержит программное обеспечение агента. Например: c:\agent.
Agent.Id Идентификатор агента.
Agent.JobName Имя выполняющегося задания. Обычно это будет "Задание" или "__default", но в сценариях с несколькими конфигурациями будет конфигурация.
Agent.JobStatus Состояние сборки.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (частично успешно)

Переменная среды должна быть указана как AGENT_JOBSTATUS. Старый agent.jobstatus доступен для обратной совместимости.

Agent.MachineName Имя компьютера, на котором установлен агент.
Agent.Name

Имя агента, зарегистрированного в пуле.

Если вы используете локальный агент, это имя указывается вами. См. раздел Агенты.

Agent.OS Операционная система узла агента. Допустимые значения:
  • Windows_NT
  • Darwin
  • Linux
Если вы работаете в контейнере, узел агента и контейнер могут работать под управлением разных операционных систем.
Agent.OSArchitecture Архитектура процессора операционной системы узла агента. Допустимые значения:
  • X86
  • X64
  • ARM
Agent.TempDirectory

Временная папка, которая очищается после каждого задания конвейера. Этот каталог используется такими задачами, как .NET Core CLI, для хранения временных элементов, таких как результаты теста, перед их публикацией.

Например: для Ubuntu. /home/vsts/work/_temp

Agent.ToolsDirectory Каталог, используемый такими задачами, как Node Tool Installer и Использование версии Python для переключения между несколькими версиями средства. Эти задачи будут добавлять средства из этого каталога в , PATH чтобы последующие шаги сборки могли использовать их.

Сведения об управлении этим каталогом в локальном агенте.
Agent.WorkFolder Рабочий каталог для этого агента. Например: c:\agent_work.

Примечание. Этот каталог не гарантируется для записи задачами конвейера (например, при сопоставлении с контейнером).

Переменные сборки (DevOps Services)


ПеременнаяОписаниеДоступно в шаблонах?
Build.ArtifactStagingDirectory

Локальный путь к агенту, в который копируются все артефакты перед отправкой в место назначения. Пример: c:\agent_work\1\a

Типичный способ использования этой папки — публикация артефактов сборки с помощью задач Копирование файлов и Публикация артефактов сборки .

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

См. раздел Артефакты в Azure Pipelines.

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

Нет
Build.BuildId Идентификатор записи для завершенной сборки. Нет
Build.BuildNumber Имя завершенной сборки, также известное как номер выполнения. Можно указать , что входит в это значение.

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

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.



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

Нет
Build.BuildUri Универсальный код ресурса (URI) для сборки. Например: vstfs:///Build/Build/1430.

Эта переменная имеет область действия агента и может использоваться как переменная среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Нет
Build.BinariesDirectory Локальный путь к агенту, который можно использовать в качестве выходной папки для скомпилированных двоичных файлов.

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

Например: c:\agent_work\1\b.

Эта переменная имеет область действия агента и может использоваться как переменная среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Нет
Build.ContainerId Идентификатор контейнера для артефакта. При отправке артефакта в конвейер он добавляется в контейнер, который относится к конкретному артефакту. Нет
Build.DefinitionName Имя конвейера сборки.

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.

Да
Build.DefinitionVersion Версия конвейера сборки. Да
Build.QueuedBy См. раздел Как задаются переменные удостоверений?

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.

Да
Build.QueuedById См. раздел Как задаются переменные удостоверений? Да
Build.Reason Событие, вызвавшее выполнение сборки.
  • Manual: пользователь вручную поставить сборку в очередь.
  • IndividualCI: непрерывная интеграция (CI), активируется принудительной отправкой Git или проверка TFVC.
  • BatchedCI: непрерывная интеграция (CI), активируется принудительной отправкой Git или проверка TFVC, и были выбраны изменения пакетной службы.
  • Schedule: запланированный триггер.
  • ValidateShelveset: пользователь вручную ставит в очередь сборку определенного набора полок TFVC.
  • CheckInShelveset: закрытый триггер проверка.
  • PullRequest: сборка была активирована политикой ветви Git, требующей сборки.
  • BuildCompletion: сборка была активирована другой сборкой.
  • ResourceTrigger: сборка была активирована триггером ресурса или другой сборкой.
См. статью Создание триггеров конвейера, Повышение качества кода с помощью политик ветвей.
Да
Build.Repository.Clean Значение, выбранное для параметра Очистить в параметрах исходного репозитория.

Эта переменная имеет область действия агента и может использоваться как переменная среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Нет
Build.Repository.LocalPath

Локальный путь к агенту, по которому скачиваются файлы исходного кода. Пример: c:\agent_work\1\s

По умолчанию новые конвейеры сборки обновляют только измененные файлы. Способ скачивания файлов можно изменить на вкладке Репозиторий.

Важное примечание. Если вы проверка только один репозиторий Git, этот путь будет точным путем к коду. Если проверка несколько репозиториев, поведение будет следующим (и может отличаться от значения переменной Build.SourcesDirectory):

  • Если на шаге возврата для самостоятельного (основного) репозитория не определен пользовательский путь к извлечению или путь к извлечению является путем $(Pipeline.Workspace)/s/<RepoName> по умолчанию для самостоятельного репозитория с несколькими заказами, значение этой переменной будет отменить изменения значением по умолчанию, то есть $(Pipeline.Workspace)/s.
  • Если на шаге возврата для самостоятельного (основного) репозитория определен пользовательский путь к извлечению (и это не путь по умолчанию с несколькими заказами), эта переменная будет содержать точный путь к репозиторию self.
Эта переменная имеет область действия агента и может использоваться как переменная среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Нет
Build.Repository.ID Уникальный идентификатор репозитория.

Это не изменится, даже если имя репозитория не изменится.

Эта переменная имеет область действия агента и может использоваться как переменная среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Нет
Build.Repository.Name Имя актививного репозитория.

Эта переменная имеет область действия агента и может использоваться как переменная среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Нет
Build.Repository.Provider Тип актививного репозитория. Эта переменная имеет область действия агента и может использоваться как переменная среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или как тег управления версиями. Нет
Build.Repository.Tfvc.Workspace Определяется, если репозиторий система управления версиями Team Foundation. Имя рабочей области TFVC , используемой агентом сборки.


Например, если Agent.BuildDirectory имеет значение c:\agent_work\12 , а Agent.Id — 8, имя рабочей области может быть следующим: ws_12_8

Эта переменная имеет область действия агента и может использоваться как переменная среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Нет
Build.Repository.Uri URL-адрес запускающего репозитория. Пример: Эта переменная имеет область действия агента и может использоваться как переменная среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или как тег управления версиями. Нет
Build.RequestedFor См. раздел Как задаются переменные удостоверений?

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.

Да
Build.RequestedForEmail См. раздел Как задаются переменные удостоверений? Да
Build.RequestedForId См. раздел Как задаются переменные удостоверений? Да
Build.SourceBranch Ветвь репозитория, запускающего сборку, была поставлена в очередь. Некоторые примеры.
  • Ветвь репозитория Git: refs/heads/main
  • Запрос на вытягивание репозитория Git: refs/pull/1/merge
  • Ветвь репозитория TFVC: $/teamproject/main
  • Репозиторий TFVC с проверка вход:Gated_2016-06-06_05.20.51.4369;username@live.com
  • Сборка набора полок репозитория TFVC: myshelveset;username@live.com
  • При активации конвейера тегом: refs/tags/your-tag-name
При использовании этой переменной в числовом формате сборки символы косой черты (/) заменяются символами _подчеркивания .

Примечание. Если в TFVC выполняется сборка с закрытым проверка или набор стеллажей вручную, эту переменную нельзя использовать в формате номера сборки.
Да
Build.SourceBranchName Имя ветви в актививном репозитории, для который была поставлена сборка в очередь.
  • Ветвь репозитория Git, запрос на вытягивание или тег: последний сегмент пути в ссылке. Например, в refs/heads/main этом значении равно main. В refs/heads/feature/tools этом значении — tools. В refs/tags/your-tag-name этом значении — your-tag-name.
  • Ветвь репозитория TFVC: последний сегмент пути в пути к корневому серверу для рабочей области. Например, в $/teamproject/main этом значении равно main.
  • Репозиторий TFVC с проверка или сборка с набором полок — это имя набора полок. Например, Gated_2016-06-06_05.20.51.4369;username@live.com или myshelveset;username@live.com.
Примечание. Если в TFVC выполняется сборка с закрытым проверка или набор стеллажей вручную, эту переменную нельзя использовать в формате номера сборки.
Да
Build.SourcesDirectory

Локальный путь к агенту, по которому скачиваются файлы исходного кода. Пример: c:\agent_work\1\s

По умолчанию новые конвейеры сборки обновляют только измененные файлы.

Важное примечание. Если вы проверка только один репозиторий Git, этот путь будет точным путем к коду. Если проверка несколько репозиториев, он будет отменить изменения к значению по умолчанию, то есть $(Pipeline.Workspace)/s, даже если самостоятельный (основной) репозиторий извлекается по пользовательскому пути, отличному от пути $(Pipeline.Workspace)/s/<RepoName> по умолчанию с несколькими извлечениями (в этом отношении переменная отличается от поведения переменной Build.Repository.LocalPath).

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

Нет
Build.SourceVersion Последнее изменение системы управления версиями в актививном репозитории, включенном в эту сборку. Эта переменная имеет область действия агента и может использоваться как переменная среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или как тег управления версиями. Да
Build.SourceVersionMessage Комментарий фиксации или набора изменений для запускающего репозитория. Мы усекаем сообщение до первой строки или до 200 символов, в зависимости от того, что короче.

Соответствует Build.SourceVersionMessage сообщению о фиксации Build.SourceVersion . Фиксация Build.SourceVersion для сборки запроса на вытягивание является фиксацией слияния (а не фиксацией в исходной ветви).

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

Примечание. Эта переменная доступна в TFS 2015.4.

Примечание

Переменная Build.SourceVersionMessage не работает с классическими конвейерами сборки в репозиториях Bitbucket при изменении пакетной службы во время выполнения сборки .

Нет
Build.StagingDirectory

Локальный путь к агенту, в который копируются все артефакты перед отправкой в место назначения. Пример: c:\agent_work\1\a

Типичный способ использования этой папки — публикация артефактов сборки с помощью задач Копирование файлов и Публикация артефактов сборки .

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

См. раздел Артефакты в Azure Pipelines.

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

Нет
Build.Repository.Git.SubmoduleCheckout Значение, выбранное для подмодулей "Извлечь " на вкладке репозитория. При извлечении нескольких репозиториев это значение отслеживает параметр запускающего репозитория.

Эта переменная имеет область действия агента и может использоваться как переменная среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Нет
Build.SourceTfvcShelveset Определяется, если репозиторий система управления версиями Team Foundation.


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

Примечание. Эта переменная возвращает недопустимое значение для использования сборки в числовом формате.
Нет
Build.TriggeredBy.BuildId Если сборка была активирована другой сборкой, то для этой переменной присваивается значение BuildID запускающей сборки. В классических конвейерах эта переменная активируется триггером завершения сборки.

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

При активации конвейера YAML с помощью resourcesследует использовать переменные ресурсов .
Нет
Build.TriggeredBy.DefinitionId Если сборка была активирована другой сборкой, для этой переменной присваивается значение DefinitionID запускающей сборки. В классических конвейерах эта переменная активируется триггером завершения сборки.

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

При активации конвейера YAML с помощью resourcesследует использовать переменные ресурсов .
Нет
Build.TriggeredBy.DefinitionName Если сборка была активирована другой сборкой, для этой переменной присваивается имя запускающего конвейера сборки. В классических конвейерах эта переменная активируется триггером завершения сборки.

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

При активации конвейера YAML с помощью resourcesследует использовать переменные ресурсов .
Нет
Build.TriggeredBy.BuildNumber Если сборка была активирована другой сборкой, для этой переменной устанавливается номер запускающей сборки. В классических конвейерах эта переменная активируется триггером завершения сборки.

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

При активации конвейера YAML с помощью resourcesследует использовать переменные ресурсов .
Нет
Build.TriggeredBy.ProjectID Если сборка была активирована другой сборкой, для этой переменной устанавливается идентификатор проекта, который содержит сборку, активив ее. В классических конвейерах эта переменная активируется триггером завершения сборки.

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

При активации конвейера YAML с помощью resourcesследует использовать переменные ресурсов .
Нет
Common.TestResultsDirectory Локальный путь к агенту, в котором создаются результаты теста. Пример: c:\agent_work\1\TestResults

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

Переменные конвейера (DevOps Services)

ПеременнаяОписание
Pipeline.Workspace Каталог рабочей области для определенного конвейера. Эта переменная имеет то же значение, что и Agent.BuildDirectory.

Например, /home/vsts/work/1.

Совет

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

Переменные задания развертывания (DevOps Services)

Эти переменные относятся к определенному заданию развертывания и будут разрешаться только во время выполнения задания.

ПеременнаяОписание
Environment.Name Имя среды, целевой в задании развертывания для выполнения шагов развертывания и записи журнала развертывания. Например, smarthotel-dev.
Environment.Id Идентификатор среды, целевой в задании развертывания. Например, 10.
Environment.ResourceName Имя конкретного ресурса в среде, целевой в задании развертывания для выполнения шагов развертывания и записи журнала развертывания. Например, bookings это пространство имен Kubernetes, которое было добавлено в качестве ресурса в среду smarthotel-dev.
Environment.ResourceId Идентификатор конкретного ресурса в среде, целевой в задании развертывания для выполнения шагов развертывания. Например, 4.
Strategy.Name Имя стратегии развертывания: canary, runOnceили rolling.
Strategy.CycleName Имя текущего цикла в развертывании. Параметры: PreIteration, Iterationили PostIteration.

Системные переменные (DevOps Services)

ПеременнаяОписаниеДоступно в шаблонах?
System.AccessToken Используйте маркер OAuth для доступа к REST API.

Используйте System.AccessToken из скриптов YAML.

Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями.
Да
System.CollectionId GUID коллекции TFS или организации Azure DevOps. Да
System.CollectionUri URI коллекции TFS или организации Azure DevOps. Например: https://dev.azure.com/fabrikamfiber/. Да
System.DefaultWorkingDirectory

Локальный путь к агенту, куда скачиваются файлы исходного кода. Пример: c:\agent_work\1\s

По умолчанию новые конвейеры сборки обновляют только измененные файлы. Вы можете изменить способ скачивания файлов на вкладке Репозиторий.

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

Да
System.DefinitionId Идентификатор конвейера сборки. Да
System.HostType Задайте значение , build если конвейер является сборкой. Для выпуска используются deployment значения для задания группы развертывания, gates во время оценки шлюзов и release для других заданий (без агента и без агента). Да
System.JobAttempt Задайте значение 1 при первой попытке выполнения этого задания и увеличивается при каждой повторной попытке задания. Нет
System.JobDisplayName Понятное имя, присвоенное заданию. Нет
System.JobId Уникальный идентификатор для одной попытки одного задания. Значение уникально для текущего конвейера. Нет
System.JobName Имя задания, которое обычно используется для выражения зависимостей и доступа к выходным переменным. Нет
System.PhaseAttempt Задайте значение 1 при первой попытке этого этапа и увеличивается при каждой повторной попытке задания.

Примечание: "Этап" — это в основном избыточное понятие, которое представляет время разработки для задания (в то время как задание было версией этапа среды выполнения). Мы в основном удалили понятие "этап" из Azure Pipelines. Матричные и многоконфигурные задания — это единственное место, где "phase" по-прежнему отличается от "задания". На одном этапе можно создать несколько заданий, которые отличаются только входными данными.
Нет
System.PhaseDisplayName Понятное для человека имя, присвоенное этапу. Нет
System.PhaseName Строковый идентификатор для задания, который обычно используется для выражения зависимостей и доступа к выходным переменным. Нет
System.PlanId Строковый идентификатор для одного запуска конвейера. Нет
System.PullRequest.IsFork Если запрос на вытягивание выполняется из вилки репозитория, эта переменная имеет значение True. В противном случае ему присваивается значение False. Да
System.PullRequest.PullRequestId Идентификатор запроса на вытягивание, вызвавшего эту сборку. Например: 17. (Эта переменная инициализируется только в том случае, если сборка выполнялась из-за запроса на вытягивание Git, затронутого политикой ветви. Нет
System.PullRequest.PullRequestNumber Номер запроса на вытягивание, вызвавшего эту сборку. Эта переменная заполняется для запросов на вытягивание из GitHub с другим идентификатором и номером запроса на вытягивание. Эта переменная доступна в конвейере YAML, только если на запрос запроса влияет политика ветви. Нет
System.PullRequest.targetBranchName Имя целевой ветви для запроса на вытягивание. Эту переменную можно использовать в конвейерах для условного выполнения задач или шагов на основе целевой ветви запроса на вытягивание. Например, может потребоваться активировать другой набор тестов или средств анализа кода в зависимости от ветви, в которую объединяются изменения. Нет
System.PullRequest.SourceBranch Ветвь, которая проверяется в запросе на вытягивание. Например: refs/heads/users/raisa/new-feature для Azure Repos. (Эта переменная инициализируется только в том случае, если сборка выполнялась из-за запроса на вытягивание Git, затронутого политикой ветви. Эта переменная доступна в конвейере YAML, только если на запрос запроса влияет политика ветви. Нет
System.PullRequest.SourceRepositoryURI URL-адрес репозитория, содержащего запрос на вытягивание. Например: https://dev.azure.com/ouraccount/_git/OurProject. нет
System.PullRequest.TargetBranch Ветвь, которая является целевой для запроса на вытягивание. Например, refs/heads/main если репозиторий находится в Azure Repos, а main репозиторий — в GitHub. Эта переменная инициализируется только в том случае, если сборка была выполнена из-за запроса на вытягивание Git, затронутого политикой ветви. Эта переменная доступна в конвейере YAML, только если на запрос запроса влияет политика ветви. Нет
System.StageAttempt Задайте значение 1 при первой попытке выполнения этого этапа и увеличивается при каждой повторной попытке задания. Нет
System.StageDisplayName Понятное для человека имя, присвоенное сцене. Нет
System.StageName Строковый идентификатор для этапа, который обычно используется для выражения зависимостей и доступа к выходным переменным. Нет
System.TeamFoundationCollectionUri URI коллекции TFS или организации Azure DevOps. Например: https://dev.azure.com/fabrikamfiber/.

Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями.
Да
System.TeamProject Имя проекта, содержащего эту сборку. Да
System.TeamProjectId Идентификатор проекта, к которому принадлежит эта сборка. Да
System.TimelineId Строковый идентификатор для сведений о выполнении и журналов одного запуска конвейера. Нет
TF_BUILD Задайте значение , True если скрипт выполняется задачей сборки.

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

Проверка переменных (DevOps Services)

ПеременнаяОписание
Checks.StageAttempt Задайте значение 1 при первой попытке выполнения этого этапа и увеличивается каждый раз при повторной попытке этапа.

Эту переменную можно использовать только в рамках утверждения или проверка для среды. Например, можно использовать $(Checks.StageAttempt) в проверка вызова REST API.

Add the stage attempt as a parameter.

Переменные агента (DevOps Server)

Примечание

Переменные агента можно использовать в качестве переменных среды в скриптах и в качестве параметров в задачах сборки. Их нельзя использовать для настройки номера сборки или применения метки или тега системы управления версиями.

ПеременнаяОписание
Agent.BuildDirectory

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

Пример: /home/vsts/work/1

Agent.HomeDirectory Каталог, в который устанавливается агент. Содержит программное обеспечение агента. Например: c:\agent.
Agent.Id Идентификатор агента.
Agent.JobName Имя выполняющегося задания. Обычно это будет "Задание" или "__default", но в сценариях с несколькими конфигурациями будет конфигурация.
Agent.JobStatus Состояние сборки.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (частично успешно)

На переменную среды следует ссылаться как AGENT_JOBSTATUSна . Старый agent.jobstatus доступен для обратной совместимости.

Agent.MachineName Имя компьютера, на котором установлен агент.
Agent.Name

Имя агента, зарегистрированного в пуле.

Если вы используете локальный агент, это имя указывается вами. См. раздел Агенты.

Agent.OS Операционная система узла агента. Допустимые значения:
  • Windows_NT
  • Darwin
  • Linux
Если вы работаете в контейнере, узел агента и контейнер могут работать под управлением разных операционных систем.
Agent.OSArchitecture Архитектура процессора операционной системы узла агента. Допустимые значения:
  • X86
  • X64
  • ARM
Agent.TempDirectory

Временная папка, которая очищается после каждого задания конвейера. Этот каталог используется такими задачами, как .NET Core CLI, для хранения временных элементов, таких как результаты теста, перед их публикацией.

Например: для Ubuntu. /home/vsts/work/_temp

Agent.ToolsDirectory Каталог, используемый такими задачами, как Node Tool Installer и Использование версии Python для переключения между несколькими версиями средства. Эти задачи будут добавлять средства из этого каталога в , PATH чтобы последующие шаги сборки могли использовать их.

Сведения об управлении этим каталогом в локальном агенте.
Agent.WorkFolder Рабочий каталог для этого агента. Например: c:\agent_work.

Примечание. Этот каталог не гарантируется для записи задачами конвейера (например, при сопоставлении с контейнером).

Переменные сборки (DevOps Server)


ПеременнаяОписаниеДоступно в шаблонах?
Build.ArtifactStagingDirectory

Локальный путь к агенту, в который копируются все артефакты перед отправкой в место назначения. Пример: c:\agent_work\1\a

Типичный способ использования этой папки — публикация артефактов сборки с помощью задач Копирование файлов и Публикация артефактов сборки .

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

См. раздел Артефакты в Azure Pipelines.

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

Нет
Build.BuildId Идентификатор записи для завершенной сборки. Нет
Build.BuildNumber Имя завершенной сборки, также известное как номер выполнения. Можно указать , что входит в это значение.

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

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.



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

Нет
Build.BuildUri Универсальный код ресурса (URI) для сборки. Например: vstfs:///Build/Build/1430.

Эта переменная имеет область действия агента и может использоваться как переменная среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Нет
Build.BinariesDirectory Локальный путь к агенту, который можно использовать в качестве выходной папки для скомпилированных двоичных файлов.

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

Например: c:\agent_work\1\b.

Эта переменная имеет область действия агента и может использоваться как переменная среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Нет
Build.ContainerId Идентификатор контейнера для артефакта. При отправке артефакта в конвейер он добавляется в контейнер, который относится к конкретному артефакту. Нет
Build.DefinitionName Имя конвейера сборки.

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.

Да
Build.DefinitionVersion Версия конвейера сборки. Да
Build.QueuedBy См. раздел Как задаются переменные удостоверений?

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.

Да
Build.QueuedById См. раздел Как задаются переменные удостоверений? Да
Build.Reason Событие, вызвавшее выполнение сборки.
  • Manual: пользователь вручную поставить сборку в очередь.
  • IndividualCI: непрерывная интеграция (CI), активируется принудительной отправкой Git или проверка TFVC.
  • BatchedCI: непрерывная интеграция (CI), активируется принудительной отправкой Git или проверка TFVC, и были выбраны изменения пакетной службы.
  • Schedule: запланированный триггер.
  • ValidateShelveset: пользователь вручную ставит в очередь сборку определенного набора полок TFVC.
  • CheckInShelveset: закрытый триггер проверка.
  • PullRequest: сборка была активирована политикой ветви Git, требующей сборки.
  • BuildCompletion: сборка была активирована другой сборкой.
  • ResourceTrigger: сборка была активирована триггером ресурса или другой сборкой.
См. статью Создание триггеров конвейера, Повышение качества кода с помощью политик ветвей.
Да
Build.Repository.Clean Значение, выбранное для параметра Очистить в параметрах исходного репозитория.

Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями.
Нет
Build.Repository.LocalPath

Локальный путь к агенту, куда скачиваются файлы исходного кода. Пример: c:\agent_work\1\s

По умолчанию новые конвейеры сборки обновляют только измененные файлы. Вы можете изменить способ скачивания файлов на вкладке Репозиторий.

Важное примечание. Если вы проверка только один репозиторий Git, этот путь будет точным путем к коду. Если проверка несколько репозиториев, поведение будет следующим (и может отличаться от значения переменной Build.SourcesDirectory):

  • Если на шаге оформления для самостоятельного (основного) репозитория не определен пользовательский путь оформления заказа или путь оформления заказа является стандартным путем $(Pipeline.Workspace)/s/<RepoName> с несколькими заказами для самостоятельного репозитория, значение этой переменной будет отменить изменения значением по умолчанию, то есть $(Pipeline.Workspace)/s.
  • Если на шаге оформления для самостоятельного (основного) репозитория определен пользовательский путь к извлечению (и это не путь по умолчанию с несколькими заказами), эта переменная будет содержать точный путь к репозиторию self.
Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями.
Нет
Build.Repository.ID Уникальный идентификатор репозитория.

Это не изменится, даже если имя репозитория не изменится.

Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями.
Нет
Build.Repository.Name Имя запускающего репозитория.

Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями.
Нет
Build.Repository.Provider Тип актививного репозитория. Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями. Нет
Build.Repository.Tfvc.Workspace Определяется, является ли репозиторий система управления версиями Team Foundation. Имя рабочей области TFVC , используемой агентом сборки.


Например, если Agent.BuildDirectory имеет значение c:\agent_work\12 , а Agent.Id — 8, имя рабочей области может быть следующим: ws_12_8

Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями.
Нет
Build.Repository.Uri URL-адрес запускающего репозитория. Пример: Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями. Нет
Build.RequestedFor См. раздел "Как задаются переменные удостоверений?".

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.

Да
Build.RequestedForEmail См. раздел "Как задаются переменные удостоверений?". Да
Build.RequestedForId См. раздел "Как задаются переменные удостоверений?". Да
Build.SourceBranch Ветвь запускающего репозитория, для который была поставлена сборка в очередь. Некоторые примеры.
  • Ветвь репозитория Git: refs/heads/main
  • Запрос на вытягивание репозитория Git: refs/pull/1/merge
  • Ветвь репозитория TFVC: $/teamproject/main
  • Репозиторий TFVC с проверка входа:Gated_2016-06-06_05.20.51.4369;username@live.com
  • Сборка набора полок репозитория TFVC: myshelveset;username@live.com
  • При активации конвейера с помощью тега: refs/tags/your-tag-name
При использовании этой переменной в числовом формате сборки символы косой черты (/) заменяются символами _подчеркивания .

Примечание. Если в TFVC выполняется сборка с закрытыми проверка или вручную создается набор полок, эту переменную нельзя использовать в формате номера сборки.
Да
Build.SourceBranchName Имя ветви в актививном репозитории, для который была поставлена сборка в очередь.
  • Ветвь репозитория Git, запрос на вытягивание или тег: последний сегмент пути в ссылке. Например, в refs/heads/main этом значении имеет значение main. В refs/heads/feature/tools этом значении — tools. В refs/tags/your-tag-name этом значении — your-tag-name.
  • Ветвь репозитория TFVC: последний сегмент пути в пути к корневому серверу для рабочей области. Например, в $/teamproject/main этом значении имеет значение main.
  • Репозиторий TFVC, проверка вход или сборка набора полок — это имя набора полок. Например, Gated_2016-06-06_05.20.51.4369;username@live.com или myshelveset;username@live.com.
Примечание. Если в TFVC выполняется сборка с закрытыми проверка или вручную создается набор полок, эту переменную нельзя использовать в формате номера сборки.
Да
Build.SourcesDirectory

Локальный путь к агенту, куда скачиваются файлы исходного кода. Пример: c:\agent_work\1\s

По умолчанию новые конвейеры сборки обновляют только измененные файлы.

Важное примечание. Если вы проверка только один репозиторий Git, этот путь будет точным путем к коду. Если проверка несколько репозиториев, он будет отменить изменения к значению по умолчанию, которое равно $(Pipeline.Workspace)/s, даже если самостоятельный (основной) репозиторий извлекается по пользовательскому пути, отличному от пути $(Pipeline.Workspace)/s/<RepoName> по умолчанию с несколькими заказами (в этом отношении переменная отличается от поведения переменной Build.Repository.LocalPath).

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

Нет
Build.SourceVersion Последнее изменение системы управления версиями в актививном репозитории, включенном в эту сборку. Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями. Да
Build.SourceVersionMessage Комментарий к фиксации или набору изменений для запускающего репозитория. Мы усекаем сообщение до первой строки или 200 символов, в зависимости от того, какой из них короче.

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

Примечание. Эта переменная доступна в TFS 2015.4.

Примечание

Переменная Build.SourceVersionMessage не работает с классическими конвейерами сборки в репозиториях Bitbucket при изменении пакетной службы во время выполнения сборки .

Нет
Build.StagingDirectory

Локальный путь к агенту, в который копируются все артефакты перед отправкой в место назначения. Пример: c:\agent_work\1\a

Типичный способ использования этой папки — публикация артефактов сборки с помощью задач Копирование файлов и Публикация артефактов сборки .

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

См. статью Артефакты в Azure Pipelines.

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

Нет
Build.Repository.Git.SubmoduleCheckout Значение, выбранное для подмодулей оформления заказа на вкладке репозитория. При извлечении нескольких репозиториев это значение отслеживает параметр запускающего репозитория.

Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями.
Нет
Build.SourceTfvcShelveset Определяется, является ли репозиторий система управления версиями Team Foundation.


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

Примечание. Эта переменная возвращает недопустимое значение для использования сборки в формате номера сборки.
Нет
Build.TriggeredBy.BuildId Если сборка была активирована другой сборкой, то для этой переменной задается значение BuildID запускающей сборки. В классических конвейерах эта переменная активируется триггером завершения сборки.

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

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

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

Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями.
Нет
Build.TriggeredBy.ProjectID Если сборка была активирована другой сборкой, для этой переменной устанавливается идентификатор проекта, который содержит сборку, активив ее. В классических конвейерах эта переменная активируется триггером завершения сборки.

Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями.
Нет
Common.TestResultsDirectory Локальный путь к агенту, в котором создаются результаты теста. Пример: c:\agent_work\1\TestResults

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

Переменные конвейера (DevOps Server)

ПеременнаяОписание
Pipeline.Workspace Каталог рабочей области для определенного конвейера. Эта переменная имеет то же значение, что и Agent.BuildDirectory.

Например, /home/vsts/work/1.

Переменные задания развертывания (DevOps Server)

Эти переменные относятся к определенному заданию развертывания и будут разрешаться только во время выполнения задания.

ПеременнаяОписание
Environment.Name Имя среды, целевой в задании развертывания для выполнения шагов развертывания и записи журнала развертывания. Например, smarthotel-dev.
Environment.Id Идентификатор среды, целевой в задании развертывания. Например, 10.
Environment.ResourceName Имя конкретного ресурса в среде, целевой в задании развертывания для выполнения шагов развертывания и записи журнала развертывания. Например, bookings это пространство имен Kubernetes, которое было добавлено в качестве ресурса в среду smarthotel-dev.
Environment.ResourceId Идентификатор конкретного ресурса в среде, целевой в задании развертывания для выполнения шагов развертывания. Например, 4.

Системные переменные (DevOps Server)

ПеременнаяОписаниеДоступно в шаблонах?
System.AccessToken Используйте маркер OAuth для доступа к REST API.

Используйте System.AccessToken из скриптов YAML.

Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями.
Да
System.CollectionId GUID коллекции TFS или организации Azure DevOps Да
System.CollectionUri Строковый URI коллекции Team Foundation Server. Да
System.DefaultWorkingDirectory

Локальный путь к агенту, куда скачиваются файлы исходного кода. Пример: c:\agent_work\1\s

По умолчанию новые конвейеры сборки обновляют только измененные файлы. Вы можете изменить способ скачивания файлов на вкладке Репозиторий.

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

Нет
System.DefinitionId Идентификатор конвейера сборки. Да
System.HostType Задайте значение , build если конвейер является сборкой. Для выпуска используются deployment значения для задания группы развертывания, gates во время оценки шлюзов и release для других заданий (без агента и без агента). Да
System.JobAttempt Задайте значение 1 при первой попытке выполнения этого задания и увеличивается при каждой повторной попытке задания. Нет
System.JobDisplayName Понятное имя, присвоенное заданию. Нет
System.JobId Уникальный идентификатор для одной попытки одного задания. Значение уникально для текущего конвейера. Нет
System.JobName Имя задания, которое обычно используется для выражения зависимостей и доступа к выходным переменным. Нет
System.PhaseAttempt Задайте значение 1 при первой попытке этого этапа и увеличивается при каждой повторной попытке задания.

Примечание: "Этап" является в основном избыточным понятием, которое представляет время разработки для задания (в то время как задание было версией этапа среды выполнения). Мы в основном удалили понятие "этап" из Azure Pipelines. Матричные и многоконфигурные задания — это единственное место, где "phase" по-прежнему отличается от "задания". На одном этапе можно создать несколько заданий, которые отличаются только входными данными.
Нет
System.PhaseDisplayName Понятное для человека имя, присвоенное этапу. Нет
System.PhaseName Строковый идентификатор для задания, который обычно используется для выражения зависимостей и доступа к выходным переменным. Нет
System.StageAttempt Задайте значение 1 при первой попытке выполнения этого этапа и увеличивается при каждой повторной попытке задания. Нет
System.StageDisplayName Понятное для человека имя, присвоенное сцене. Нет
System.StageName Строковый идентификатор для этапа, который обычно используется для выражения зависимостей и доступа к выходным переменным. Да
System.PullRequest.IsFork Если запрос на вытягивание выполняется из вилки репозитория, эта переменная имеет значение True. В противном случае ему присваивается значение False. Да
System.PullRequest.PullRequestId Идентификатор запроса на вытягивание, вызвавшего эту сборку. Например: 17. (Эта переменная инициализируется только в том случае, если сборка выполнялась из-за запроса на вытягивание Git, затронутого политикой ветви. Нет
System.PullRequest.PullRequestNumber Номер запроса на вытягивание, вызвавшего эту сборку. Эта переменная заполняется для запросов на вытягивание из GitHub с другим идентификатором и номером запроса на вытягивание. Эта переменная доступна в конвейере YAML, только если запрос на вытягивание зависит от политики ветви. Нет
System.PullRequest.targetBranchName Имя целевой ветви для запроса на вытягивание. Эту переменную можно использовать в конвейерах для условного выполнения задач или шагов на основе целевой ветви запроса на вытягивание. Например, может потребоваться активировать другой набор тестов или средств анализа кода в зависимости от ветви, в которую объединяются изменения. Нет
System.PullRequest.SourceBranch Ветвь, которая проверяется в запросе на вытягивание. Например: refs/heads/users/raisa/new-feature. (Эта переменная инициализируется только в том случае, если сборка выполнялась из-за запроса на вытягивание Git, затронутого политикой ветви. Эта переменная доступна в конвейере YAML, только если на запрос запроса влияет политика ветви. Нет
System.PullRequest.SourceRepositoryURI URL-адрес репозитория, содержащего запрос на вытягивание. Например: https://dev.azure.com/ouraccount/_git/OurProject. нет
System.PullRequest.TargetBranch Ветвь, которая является целевой для запроса на вытягивание. Например, refs/heads/main если репозиторий находится в Azure Repos, а main репозиторий — в GitHub. Эта переменная инициализируется только в том случае, если сборка была выполнена из-за запроса на вытягивание Git, затронутого политикой ветви. Эта переменная доступна в конвейере YAML, только если на запрос запроса влияет политика ветви. Нет
System.TeamFoundationCollectionUri Универсальный код ресурса (URI) коллекции Team Foundation. Пример: https://dev.azure.com/fabrikamfiber/

Эта переменная имеет область действия агента и может использоваться в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не в составе номера сборки или в качестве тега управления версиями.
Да
System.TeamProject Имя проекта, содержащего эту сборку. Да
System.TeamProjectId Идентификатор проекта, к которому принадлежит эта сборка. Да
TF_BUILD Задайте значение , True если скрипт выполняется задачей сборки.

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

Переменные агента (DevOps Server 2019 г.)

Примечание

Переменные агента можно использовать в качестве переменных среды в скриптах и в качестве параметров в задачах сборки. Их нельзя использовать для настройки номера сборки или применения метки или тега системы управления версиями.

ПеременнаяОписание
Agent.BuildDirectory

Локальный путь к агенту, где создаются все папки для заданного конвейера сборки.

Пример: c:\agent_work\1

Agent.HomeDirectory Каталог, в который устанавливается агент. Содержит программное обеспечение агента. Например: c:\agent.
Agent.Id Идентификатор агента.
Agent.JobName Имя выполняющегося задания. Обычно это будет "Задание" или "__default", но в сценариях с несколькими конфигурациями будет конфигурация.
Agent.JobStatus Состояние сборки.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (частично успешно)

На переменную среды следует ссылаться как AGENT_JOBSTATUSна . Более старая agent.jobstatus версия доступна для обратной совместимости.

Agent.MachineName Имя компьютера, на котором установлен агент.
Agent.Name

Имя агента, зарегистрированного в пуле.

Если вы используете локальный агент, это имя указывается вами. См. раздел Агенты.

Agent.OS Операционная система узла агента. Допустимые значения:
  • Windows_NT
  • Darwin
  • Linux
Если вы работаете в контейнере, узел агента и контейнер могут работать под управлением разных операционных систем.
Agent.OSArchitecture Архитектура процессора операционной системы узла агента. Допустимые значения:
  • X86
  • X64
  • ARM
Agent.TempDirectory Временная папка, очищаемая после каждого задания конвейера. Этот каталог используется такими задачами, как .NET Core CLI, для хранения временных элементов, таких как результаты теста, перед их публикацией.
Agent.ToolsDirectory Каталог, используемый такими задачами, как Node Tool Installer и Использование версии Python для переключения между несколькими версиями средства. Эти задачи будут добавлять средства из этого каталога в , PATH чтобы их можно было использовать в последующих шагах сборки.

Сведения об управлении этим каталогом в локальном агенте.
Agent.WorkFolder Рабочий каталог для этого агента. Например: c:\agent_work.

Этот каталог не гарантируется для записи задач конвейера (например, при сопоставлении с контейнером).

Переменные сборки (DevOps Server 2019 г.)


ПеременнаяОписание
Build.ArtifactStagingDirectory

Локальный путь к агенту, в который копируются все артефакты перед отправкой в место назначения. Пример: c:\agent_work\1\a

Типичный способ использования этой папки — публикация артефактов сборки с помощью задач Копирование файлов и Публикация артефактов сборки .

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

См. статью Артефакты в Azure Pipelines.

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

Build.BuildId Идентификатор записи для завершенной сборки.
Build.BuildNumber Имя завершенной сборки. В параметрах конвейера можно указать формат номера сборки, который создает это значение.

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

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.



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

Build.BuildUri Универсальный код ресурса (URI) для сборки. Например: vstfs:///Build/Build/1430.

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

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

Например: c:\agent_work\1\b.

Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
Build.DefinitionName Имя конвейера сборки.

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.

Build.DefinitionVersion Версия конвейера сборки.
Build.QueuedBy См. раздел "Как задаются переменные удостоверений?".

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.

Build.QueuedById См. раздел "Как задаются переменные удостоверений?".
Build.Reason Событие, вызвавшее выполнение сборки.
  • Manual: пользователь вручную поставить сборку в очередь.
  • IndividualCI: непрерывная интеграция (CI), активируется принудительной отправкой Git или проверка TFVC.
  • BatchedCI: непрерывная интеграция (CI), активируется принудительной отправкой Git или проверка TFVC, и выбраны изменения пакетной службы.
  • Schedule: запланированный триггер.
  • ValidateShelveset: пользователь вручную выстроил сборку определенного набора полок TFVC.
  • CheckInShelveset: триггер входа проверка с воротами.
  • PullRequest: сборка была активирована политикой ветви Git, которая требует сборки.
  • BuildCompletion: сборка была активирована другой сборкой.
См. статью Создание триггеров конвейера, Повышение качества кода с помощью политик ветвей.
Build.Repository.Clean Значение, выбранное для параметра Очистить в параметрах исходного репозитория.

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

Локальный путь к агенту, по которому скачиваются файлы исходного кода. Пример: c:\agent_work\1\s

По умолчанию новые конвейеры сборки обновляют только измененные файлы. Способ скачивания файлов можно изменить на вкладке Репозиторий.

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

Эта переменная является синонимом Build.SourcesDirectory.

Build.Repository.Name Имя репозитория.

Эта переменная имеет область действия агента. Его можно использовать как переменную среды в скрипте и как параметр в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Build.Repository.Provider Тип выбранного репозитория. Эта переменная имеет область действия агента. Его можно использовать как переменную среды в скрипте и как параметр в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Build.Repository.Tfvc.Workspace Определяется, если репозиторий система управления версиями Team Foundation. Имя рабочей области TFVC , используемой агентом сборки.


Например, если Agent.BuildDirectory имеет значение c:\agent_work\12 , а Agent.Id — 8, имя рабочей области может быть следующим: ws_12_8

Эта переменная имеет область действия агента. Его можно использовать как переменную среды в скрипте и как параметр в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Build.Repository.Uri URL-адрес репозитория. Пример: Эта переменная имеет область действия агента. Его можно использовать как переменную среды в скрипте и как параметр в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Build.RequestedFor См. раздел Как задаются переменные удостоверений?

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.

Build.RequestedForEmail См. раздел Как задаются переменные удостоверений?
Build.RequestedForId См. раздел Как задаются переменные удостоверений?
Build.SourceBranch Ветвь, для нее была поставлена в очередь сборка. Некоторые примеры.
  • Ветвь репозитория Git: refs/heads/main
  • Запрос на вытягивание репозитория Git: refs/pull/1/merge
  • Ветвь репозитория TFVC: $/teamproject/main
  • Репозиторий TFVC с проверка вход:Gated_2016-06-06_05.20.51.4369;username@live.com
  • Сборка набора полок репозитория TFVC: myshelveset;username@live.com
При использовании этой переменной в числовом формате сборки символы косой черты (/) заменяются символами _подчеркивания .

Примечание. Если в TFVC выполняется сборка с закрытым проверка или набор стеллажей вручную, эту переменную нельзя использовать в формате номера сборки.
Build.SourceBranchName Имя ветви, для нее была поставлена в очередь сборка.
  • Ветвь репозитория Git, запрос на вытягивание или тег: последний сегмент пути в ссылке. Например, в refs/heads/main этом значении равно main. В refs/heads/feature/tools этом значении — tools. В refs/tags/your-tag-name этом значении — your-tag-name.
  • Ветвь репозитория TFVC: последний сегмент пути в пути к корневому серверу для рабочей области. Например, в $/teamproject/main этом значении имеется значение main.
  • Репозиторий TFVC с проверка или сборка с набором полок — это имя набора полок. Например, Gated_2016-06-06_05.20.51.4369;username@live.com или myshelveset;username@live.com.
Примечание. Если в TFVC выполняется сборка с закрытым проверка или набор стеллажей вручную, эту переменную нельзя использовать в формате номера сборки.
Build.SourcesDirectory

Локальный путь к агенту, по которому скачиваются файлы исходного кода. Пример: c:\agent_work\1\s

По умолчанию новые конвейеры сборки обновляют только измененные файлы. Способ скачивания файлов можно изменить на вкладке Репозиторий.

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

Эта переменная является синонимом Build.Repository.LocalPath.

Build.SourceVersion Последнее изменение системы управления версиями, входящее в эту сборку. Эта переменная имеет область действия агента. Его можно использовать как переменную среды в скрипте и как параметр в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Build.SourceVersionMessage Комментарий фиксации или набора изменений. Мы усекаем сообщение до первой строки или до 200 символов, в зависимости от того, что короче.

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

Примечание. Эта переменная доступна в TFS 2015.4.

Примечание

Переменная Build.SourceVersionMessage не работает с классическими конвейерами сборки в репозиториях Bitbucket при изменении пакетной службы во время выполнения сборки .

Build.StagingDirectory

Локальный путь к агенту, в который копируются все артефакты перед отправкой в место назначения. Пример: c:\agent_work\1\a

Типичный способ использования этой папки — публикация артефактов сборки с помощью задач Копирование файлов и Публикация артефактов сборки .

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

См. раздел Артефакты в Azure Pipelines.

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

Build.Repository.Git.SubmoduleCheckout Значение, выбранное для подмодулей "Извлечь " на вкладке репозитория.

Эта переменная имеет область действия агента. Его можно использовать как переменную среды в скрипте и как параметр в задаче сборки, но не как часть номера сборки или как тег управления версиями.
Build.SourceTfvcShelveset Определяется, является ли репозиторий система управления версиями Team Foundation.


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

Примечание. Эта переменная возвращает недопустимое значение для использования сборки в формате номера сборки.
Build.TriggeredBy.BuildId Если сборка была активирована другой сборкой, то для этой переменной задается значение BuildID запускающей сборки.

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

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

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

Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
Build.TriggeredBy.ProjectID Если сборка была активирована другой сборкой, для этой переменной устанавливается идентификатор проекта, который содержит сборку, активив ее.

Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
Common.TestResultsDirectory Локальный путь к агенту, в котором создаются результаты теста. Пример: c:\agent_work\1\TestResults

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

Системные переменные (DevOps Server 2019 г.)

ПеременнаяОписание
System.AccessToken Используйте маркер OAuth для доступа к REST API.

Используйте System.AccessToken из скриптов YAML.

Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
System.CollectionId GUID коллекции TFS или организации Azure DevOps
System.DefaultWorkingDirectory

Локальный путь к агенту, куда скачиваются файлы исходного кода. Пример: c:\agent_work\1\s

По умолчанию новые конвейеры сборки обновляют только измененные файлы. Вы можете изменить способ скачивания файлов на вкладке Репозиторий.

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

System.DefinitionId Идентификатор конвейера сборки.
System.HostType Задайте значение , build если конвейер является сборкой. Для выпуска значениями являются deployment задание группы развертывания и release задание агента.
System.PullRequest.IsFork Если запрос на вытягивание выполняется из вилки репозитория, эта переменная имеет значение True. В противном случае ему присваивается значение False.
System.PullRequest.PullRequestId Идентификатор запроса на вытягивание, вызвавшего эту сборку. Например: 17. (Эта переменная инициализируется только в том случае, если сборка выполнялась из-за запроса на вытягивание Git, затронутого политикой ветви.)
System.PullRequest.PullRequestNumber Номер запроса на вытягивание, вызвавшего эту сборку. Эта переменная заполняется для запросов на вытягивание из GitHub с другим идентификатором и номером запроса на вытягивание.
System.PullRequest.SourceBranch Ветвь, которая проверяется в запросе на вытягивание. Например: refs/heads/users/raisa/new-feature. (Эта переменная инициализируется только в том случае, если сборка выполнялась из-за запроса на вытягивание Git, затронутого политикой ветви.)
System.PullRequest.SourceRepositoryURI URL-адрес репозитория, содержащего запрос на вытягивание. Например: https://dev.azure.com/ouraccount/_git/OurProject. (Эта переменная инициализируется только в том случае, если сборка выполнялась из-за Azure Repos запроса на вытягивание Git, затронутого политикой ветви. Он не инициализирован для GitHub PRs.)
System.PullRequest.TargetBranch Ветвь, которая является целевой для запроса на вытягивание. Например: refs/heads/main. Эта переменная инициализируется только в том случае, если сборка была выполнена из-за запроса на вытягивание Git, затронутого политикой ветви.
System.TeamFoundationCollectionUri Универсальный код ресурса (URI) коллекции Team Foundation. Например: https://dev.azure.com/fabrikamfiber/.

Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
System.TeamProject Имя проекта, содержащего эту сборку.
System.TeamProjectId Идентификатор проекта, к которому принадлежит эта сборка.
TF_BUILD Задайте значение , True если скрипт выполняется задачей сборки.

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

Переменные агента (TFS 2018)

Примечание

Переменные агента можно использовать в качестве переменных среды в скриптах и в качестве параметров в задачах сборки. Их нельзя использовать для настройки номера сборки или применения метки или тега системы управления версиями.

ПеременнаяОписание
Agent.BuildDirectory

Локальный путь к агенту, где создаются все папки для заданного конвейера сборки.

Пример: c:\agent_work\1

Agent.HomeDirectory Каталог, в который устанавливается агент. Содержит программное обеспечение агента. Например: c:\agent.
Agent.Id Идентификатор агента.
Agent.JobStatus Состояние сборки.
  • Canceled
  • Failed
  • Succeeded
  • SucceededWithIssues (частично успешно)

На переменную среды следует ссылаться как AGENT_JOBSTATUSна . Более старая agent.jobstatus версия доступна для обратной совместимости.

Agent.MachineName Имя компьютера, на котором установлен агент.
Agent.Name

Имя агента, зарегистрированного в пуле.

Это имя указано вами. См. раздел Агенты.

Agent.TempDirectory Временная папка, очищаемая после каждого задания конвейера. Этот каталог используется такими задачами, как .NET Core CLI, для хранения временных элементов, таких как результаты теста, перед их публикацией.
Agent.ToolsDirectory Каталог, используемый такими задачами, как Node Tool Installer и Использование версии Python для переключения между несколькими версиями средства. Эти задачи будут добавлять средства из этого каталога в , PATH чтобы их можно было использовать в последующих шагах сборки.

Сведения об управлении этим каталогом в локальном агенте.
Agent.WorkFolder Рабочий каталог для этого агента. Например: c:\agent_work.

Переменные сборки (TFS 2018)


ПеременнаяОписание
Build.ArtifactStagingDirectory Локальный путь к агенту, в который копируются все артефакты перед отправкой в место назначения.

Локальный путь к агенту, в который копируются все артефакты перед отправкой в место назначения. Пример: c:\agent_work\1\a

Типичный способ использования этой папки — публикация артефактов сборки с помощью задач Копирование файлов и Публикация артефактов сборки .

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

См. статью Артефакты в Azure Pipelines.

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

Build.BuildId Идентификатор записи для завершенной сборки.
Build.BuildNumber Имя завершенной сборки. В параметрах конвейера можно указать формат номера сборки, который создает это значение.

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

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.



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

Build.BuildUri Универсальный код ресурса (URI) для сборки. Например: vstfs:///Build/Build/1430.

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

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

Например: c:\agent_work\1\b.

Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
Build.DefinitionName Имя конвейера сборки.

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.

Build.DefinitionVersion Версия конвейера сборки.
Build.QueuedBy См. раздел "Как задаются переменные удостоверений?".

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.

Build.QueuedById См. раздел "Как задаются переменные удостоверений?".
Build.Reason Событие, вызвавшее выполнение сборки.
  • Manual: пользователь вручную поставить сборку в очередь из пользовательского интерфейса или вызова API.
  • IndividualCI: непрерывная интеграция (CI), активируется принудительной отправкой Git или проверка TFVC.
  • BatchedCI: непрерывная интеграция (CI), активируется принудительной отправкой Git или проверка TFVC, и выбраны изменения пакетной службы.
  • Schedule: запланированный триггер.
  • ValidateShelveset: пользователь вручную выстроил сборку определенного набора полок TFVC.
  • CheckInShelveset: триггер входа проверка с воротами.
  • PullRequest: сборка была активирована политикой ветви Git, которая требует сборки.
См. статью Создание триггеров конвейера, Повышение качества кода с помощью политик ветвей.
Build.Repository.Clean Значение, выбранное для параметра Очистить в параметрах исходного репозитория.

Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
Build.Repository.LocalPath

Локальный путь к агенту, куда скачиваются файлы исходного кода. Пример: c:\agent_work\1\s

По умолчанию новые конвейеры сборки обновляют только измененные файлы. Вы можете изменить способ скачивания файлов на вкладке Репозиторий.

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

Эта переменная является синонимом Build.SourcesDirectory.

Build.Repository.Name Имя репозитория.

Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
Build.Repository.Provider Выбранный тип репозитория. Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
Build.Repository.Tfvc.Workspace Определяется, является ли репозиторий система управления версиями Team Foundation. Имя рабочей области TFVC , используемой агентом сборки.

Например, если Agent.BuildDirectory имеет значение c:\agent_work\12 , а Agent.Id — 8, имя рабочей области может быть следующим: ws_12_8

Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
Build.Repository.Uri URL-адрес репозитория. Пример:
  • Git: https://fabrikamfiber/tfs/DefaultCollection/Scripts/_git/Scripts
  • TFVC: https://fabrikamfiber/tfs/DefaultCollection/
Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
Build.RequestedFor См. раздел "Как задаются переменные удостоверений?".

Примечание. Это значение может содержать пробелы или другие недопустимые символы метки. В таких случаях формат метки завершится ошибкой.

Build.RequestedForEmail См. раздел "Как задаются переменные удостоверений?".
Build.RequestedForId См. раздел "Как задаются переменные удостоверений?".
Build.SourceBranch Ветвь, для нее была поставлена в очередь сборка. Некоторые примеры.
  • Ветвь репозитория Git: refs/heads/main
  • Запрос на вытягивание репозитория Git: refs/pull/1/merge
  • Ветвь репозитория TFVC: $/teamproject/main
  • Репозиторий TFVC с проверка входа:Gated_2016-06-06_05.20.51.4369;username@live.com
  • Сборка набора полок репозитория TFVC: myshelveset;username@live.com
При использовании этой переменной в числовом формате сборки символы косой черты (/) заменяются символами _подчеркивания .

Примечание. Если в TFVC выполняется сборка с закрытыми проверка или вручную создается набор полок, эту переменную нельзя использовать в формате номера сборки.
Build.SourceBranchName Имя ветви, для нее была поставлена сборка в очередь.
  • Ветвь репозитория Git, запрос на вытягивание или тег: последний сегмент пути в ссылке. Например, в refs/heads/main этом значении имеет значение main. В refs/heads/feature/tools этом значении — tools.
  • Ветвь репозитория TFVC: последний сегмент пути в пути к корневому серверу для рабочей области. Например, в $/teamproject/main этом значении — main. В refs/tags/your-tag-name этом значении — your-tag-name.
  • Репозиторий TFVC, проверка вход или сборка набора полок — это имя набора полок. Например, Gated_2016-06-06_05.20.51.4369;username@live.com или myshelveset;username@live.com.
Примечание. Если в TFVC выполняется сборка с закрытыми проверка или вручную создается набор полок, эту переменную нельзя использовать в формате номера сборки.
Build.SourcesDirectory

Локальный путь к агенту, куда скачиваются файлы исходного кода. Пример: c:\agent_work\1\s

По умолчанию новые конвейеры сборки обновляют только измененные файлы. Вы можете изменить способ скачивания файлов на вкладке Репозиторий.

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

Эта переменная является синонимом Build.Repository.LocalPath.

Build.SourceVersion Последнее изменение системы управления версиями, входящее в эту сборку. Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
Build.SourceVersionMessage Комментарий фиксации или набора изменений. Мы усекаем сообщение до первой строки или 200 символов, в зависимости от того, какой из них короче.

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

Примечание. Эта переменная доступна в TFS 2015.4.

Примечание

Переменная Build.SourceVersionMessage не работает с классическими конвейерами сборки в репозиториях Bitbucket при изменении пакетной службы во время выполнения сборки .

Build.StagingDirectory

Локальный путь к агенту, в который копируются все артефакты перед отправкой в место назначения. Пример: c:\agent_work\1\a

Типичный способ использования этой папки — публикация артефактов сборки с помощью задач Копирование файлов и Публикация артефактов сборки .

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

См. статью Артефакты в Azure Pipelines.

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

Build.Repository.Git.SubmoduleCheckout Значение, выбранное для подмодулей оформления заказа на вкладке репозитория.

Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
Build.SourceTfvcShelveset Определяется, является ли репозиторий система управления версиями Team Foundation.

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

Примечание. Эта переменная возвращает недопустимое значение для использования сборки в формате номера сборки.
Common.TestResultsDirectory Локальный путь к агенту, в котором создаются результаты теста. Пример: c:\agent_work\1\TestResults

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

Системные переменные (TFS 2018)

ПеременнаяОписание
System.AccessToken Используйте маркер OAuth для доступа к REST API.

Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
System.CollectionId GUID коллекции TFS или организации Azure DevOps
System.DefaultWorkingDirectory

Локальный путь к агенту, куда скачиваются файлы исходного кода. Пример: c:\agent_work\1\s

По умолчанию новые конвейеры сборки обновляют только измененные файлы. Вы можете изменить способ скачивания файлов на вкладке Репозиторий.

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

System.DefinitionId Идентификатор конвейера сборки.
System.HostType Задайте для значение , build если конвейер является сборкой или release если конвейер является выпуском.
System.PullRequest.IsFork Если запрос на вытягивание выполняется из вилки репозитория, эта переменная имеет значение True. В противном случае ему присваивается значение False. Доступно в TFS 2018.2.
System.PullRequest.PullRequestId Идентификатор запроса на вытягивание, вызвавшего эту сборку. Например: 17. (Эта переменная инициализируется только в том случае, если сборка выполнялась из-за запроса на вытягивание Git, затронутого политикой ветви.)
System.PullRequest.SourceBranch Ветвь, которая проверяется в запросе на вытягивание. Например: refs/heads/users/raisa/new-feature. (Эта переменная инициализируется только в том случае, если сборка выполнялась из-за запроса на вытягивание Git, затронутого политикой ветви.)
System.PullRequest.SourceRepositoryURI URL-адрес репозитория, содержащего запрос на вытягивание. Например: http://our-server:8080/tfs/DefaultCollection/_git/OurProject. (Эта переменная инициализируется только в том случае, если сборка была выполнена из-за Azure Repos запроса на вытягивание Git, затронутого политикой ветви.)
System.PullRequest.TargetBranch Ветвь, которая является целевой для запроса на вытягивание. Например: refs/heads/main. Эта переменная инициализируется только в том случае, если сборка была выполнена из-за запроса на вытягивание Git, затронутого политикой ветви.
System.TeamFoundationCollectionUri Универсальный код ресурса (URI) коллекции Team Foundation. Например: http://our-server:8080/tfs/DefaultCollection/.

Эта переменная имеет область действия агента. Его можно использовать в качестве переменной среды в скрипте и в качестве параметра в задаче сборки, но не как часть номера сборки или тега управления версиями.
System.TeamProject Имя проекта, содержащего эту сборку.
System.TeamProjectId Идентификатор проекта, к которому принадлежит эта сборка.
TF_BUILD Задайте значение , True если скрипт выполняется задачей сборки.

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

Как задаются переменные удостоверений?

Значение зависит от причины сборки и зависит от Azure Repos репозиториев.

Если сборка активирована... Затем значения Build.QueuedBy и Build.QueuedById основаны на... Затем значения Build.RequestedFor и Build.RequestedForId основаны на...
В Git или TFVC с помощью триггеров непрерывной интеграции (CI) Системное удостоверение, например: [DefaultCollection]\Project Collection Service Accounts Пользователь, который вытеснил или проверил изменения.
В Git или по сборке политики ветви. Системное удостоверение, например: [DefaultCollection]\Project Collection Service Accounts Пользователь, который проверил изменения.
В TFVC с помощью закрытого триггера проверка Пользователь, который проверил изменения. Пользователь, который проверил изменения.
В Git или TFVC по запланированным триггерам Системное удостоверение, например: [DefaultCollection]\Project Collection Service Accounts Системное удостоверение, например: [DefaultCollection]\Project Collection Service Accounts
Так как вы нажали кнопку Сборка очереди Вы Вы