Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Используется checkout
для настройки того, как конвейер проверяет исходный код.
steps:
- checkout: string # Required as first property. Configures checkout for the specified repository.
clean: true | false # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
fetchFilter: string # Filter Git history.
fetchTags: string # Set to 'true' to sync tags when fetching the repo, or 'false' to not sync tags. See remarks for the default behavior.
lfs: string # Set to 'true' to download Git-LFS files. Default is not to download them.
persistCredentials: string # Set to 'true' to leave the OAuth token in the Git config after the initial fetch. The default is not to leave it.
submodules: string # Set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules. Default is not to fetch submodules.
path: string # Where to put the repository. The root directory is $(Pipeline.Workspace).
sparseCheckoutDirectories: string # Directories for sparse checkout in cone mode and prioritized over sparseCheckoutPatterns if both properties are provided.
sparseCheckoutPatterns: string # Patterns for sparse checkout in non-cone mode that are ignored if sparseCheckoutDirectories is provided.
workspaceRepo: true | false # When true, use the repository root directory as the default working directory for the pipeline. The default is false.
condition: string # Evaluate this condition expression to determine whether to run this task.
continueOnError: boolean # Continue running even on failure?
displayName: string # Human-readable name for the task.
target: string | target # Environment in which to run this task.
enabled: boolean # Run this task when the job runs?
env: # Variables to map into the process's environment.
string: string # Name/value pairs
name: string # ID of the step.
timeoutInMinutes: string # Time to wait for this task to complete before the server kills it.
retryCountOnTaskFailure: string # Number of retries if the task fails.
steps:
- checkout: string # Required as first property. Configures checkout for the specified repository.
clean: true | false # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
fetchTags: string # Set to 'true' to sync tags when fetching the repo, or 'false' to not sync tags. See remarks for the default behavior.
lfs: string # Set to 'true' to download Git-LFS files. Default is not to download them.
persistCredentials: string # Set to 'true' to leave the OAuth token in the Git config after the initial fetch. The default is not to leave it.
submodules: string # Set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules. Default is not to fetch submodules.
path: string # Where to put the repository. The root directory is $(Pipeline.Workspace).
condition: string # Evaluate this condition expression to determine whether to run this task.
continueOnError: boolean # Continue running even on failure?
displayName: string # Human-readable name for the task.
target: string | target # Environment in which to run this task.
enabled: boolean # Run this task when the job runs?
env: # Variables to map into the process's environment.
string: string # Name/value pairs
name: string # ID of the step.
timeoutInMinutes: string # Time to wait for this task to complete before the server kills it.
retryCountOnTaskFailure: string # Number of retries if the task fails.
steps:
- checkout: string # Required as first property. Configures checkout for the specified repository.
clean: true | false # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
lfs: string # Set to 'true' to download Git-LFS files. Default is not to download them.
persistCredentials: string # Set to 'true' to leave the OAuth token in the Git config after the initial fetch. The default is not to leave it.
submodules: string # Set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules. Default is not to fetch submodules.
path: string # Where to put the repository. The root directory is $(Pipeline.Workspace).
condition: string # Evaluate this condition expression to determine whether to run this task.
continueOnError: boolean # Continue running even on failure?
displayName: string # Human-readable name for the task.
target: string | target # Environment in which to run this task.
enabled: boolean # Run this task when the job runs?
env: # Variables to map into the process's environment.
string: string # Name/value pairs
name: string # ID of the step.
timeoutInMinutes: string # Time to wait for this task to complete before the server kills it.
retryCountOnTaskFailure: string # Number of retries if the task fails.
steps:
- checkout: string # Required as first property. Configures checkout for the specified repository.
clean: true | false # If true, run git clean -ffdx followed by git reset --hard HEAD before fetching.
fetchDepth: string # Depth of Git graph to fetch.
lfs: string # Set to 'true' to download Git-LFS files. Default is not to download them.
persistCredentials: string # Set to 'true' to leave the OAuth token in the Git config after the initial fetch. The default is not to leave it.
submodules: string # Set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules. Default is not to fetch submodules.
path: string # Where to put the repository. The root directory is $(Pipeline.Workspace).
condition: string # Evaluate this condition expression to determine whether to run this task.
continueOnError: boolean # Continue running even on failure?
displayName: string # Human-readable name for the task.
target: string | target # Environment in which to run this task.
enabled: boolean # Run this task when the job runs?
env: # Variables to map into the process's environment.
string: string # Name/value pairs
name: string # ID of the step.
timeoutInMinutes: string # Time to wait for this task to complete before the server kills it.
Определения, ссылающиеся на это определение: шаги
Свойства
строка checkout
. Обязательный в качестве первого свойства.
Настраивает получение для указанного репозитория. Укажитеself
, none
имя репозитория или ресурс репозитория. Для получения дополнительной информации см. Обзор нескольких репозиториев в вашем конвейере.
Замечание
Если шаг отсутствует checkout
, он по умолчанию используется self
для jobs.job.step.checkout
и none
для jobs.deployment.steps.checkout
.
строка clean
.
Если значение true, запустите git clean -ffdx после сброса git --hard HEAD перед получением. true | ложный.
строка fetchDepth
.
Глубина графа Git для получения.
строка fetchFilter
.
Используется fetchFilter
для фильтрации журнала Git для частичного клонирования. Этот fetchFilter
параметр поддерживает безукоризненные и большие двоичные объекты. Для получения без дерева укажите и укажите fetchFilter: tree:0
необязание fetchFilter: blob:none
большого двоичного объекта. По умолчанию фильтрация не выполняется.
строка fetchTags
.
Установите значение true для синхронизации тегов при получении репозитория или false, чтобы не синхронизировать теги. См. примечания по умолчанию.
строка lfs
.
Задайте значение true, чтобы скачать Git-LFS файлы. По умолчанию их не следует скачивать.
строка persistCredentials
.
Установите значение true, чтобы оставить маркер OAuth в конфигурации Git после начального получения. Значение по умолчанию не следует оставлять.
строка submodules
.
Задайте значение true для одного уровня подмодул или рекурсивного, чтобы получить подмодулы подмодулы подмодул. По умолчанию не требуется получить подмодулы.
строка path
.
Куда поместить репозиторий. Корневой каталог — $(Pipeline.Workspace). По умолчанию эта папка должна находиться в структуре рабочего каталога агента. Чтобы задать путь за пределами рабочего каталога агента, задайте переменную конвейера с именем AZP_AGENT_ALLOW_WORK_DIRECTORY_REPOSITORIES
true и используйте префикс ../
в начале пути выхода. Поддерживается в агенте версии 3.230.0 и выше.
строка sparseCheckoutDirectories
.
Укажите каталог для включения разреженного извлечения в режиме конуса с помощью сопоставления каталогов. Разделение нескольких каталогов с помощью пробела. Поддерживается в агенте версии 3.253.0/4.253.0 и более поздней версии с Git 2.25 или более поздней.
- checkout: repo
sparseCheckoutDirectories: src
sparseCheckoutDirectories
Если оба и задано, sparseCheckoutDirectories
используется и sparseCheckoutPatterns
параметр для sparseCheckoutPatterns
него игнорируется.
Дополнительные сведения о разреженном извлечении см. в разделе "Перенос монорепо" к размеру с разреженным получением.
строка sparseCheckoutPatterns
.
Укажите шаблон для включения разреженного извлечения в режиме без конуса с помощью сопоставления шаблонов. Разделение нескольких шаблонов с помощью пробела. Поддерживается в агенте версии 3.253.0/4.253.0 и более поздней версии с Git 2.25 или более поздней.
- checkout: repo
sparseCheckoutPatterns: /* !/img
sparseCheckoutDirectories
Если оба и задано, sparseCheckoutDirectories
используется и sparseCheckoutPatterns
параметр для sparseCheckoutPatterns
него игнорируется.
Дополнительные сведения о разреженном извлечении см. в разделе "Перенос монорепо" к размеру с разреженным получением.
строка workspaceRepo
.
Если значение true, используйте корневой каталог репозитория в качестве рабочего каталога по умолчанию для конвейера. Значение по умолчанию — false.
строка condition
.
оценить это выражение условия, чтобы определить, следует ли выполнять эту задачу.
continueOnError
логические.
Продолжить работу даже при сбое?
строка displayName
.
имя, доступное для чтения для задачи.
target
целевой.
среда, в которой выполняется эта задача.
enabled
логические.
запустить эту задачу при выполнении задания?
env
словарь строк.
Переменные для сопоставления с средой процесса.
строка name
.
идентификатор шага. Допустимые значения: [-_A-Za-z0-9]*.
строка timeoutInMinutes
.
время ожидания завершения этой задачи до того, как сервер убьет его.
Замечание
Конвейеры могут быть настроены с временем ожидания уровня задания. Если интервал времени ожидания задания истекает до завершения шага, выполнение задания (включая шаг) завершается, даже если шаг настроен с более длинным интервалом timeoutInMinutes
. Дополнительные сведения см. в разделе "Время ожидания".
строка retryCountOnTaskFailure
.
число повторных попыток, если задача завершается ошибкой.
Замечания
Неглубокое получение
Замечание
В некоторых организациях новые конвейеры, созданные после обновления azure DevOps за сентябрь 2022 г. спринтом 209 г., включены по умолчанию и настроены с глубиной 1. Ранее значение по умолчанию не было мелким получением.
Чтобы проверить конвейер, просмотрите параметр "Мелкое получение " в пользовательском интерфейсе параметров конвейера.
Чтобы отключить неглубокое получение, можно выполнить один из следующих двух вариантов.
- Отключите параметр "Мелкое получение " в пользовательском интерфейсе параметров конвейера.
- Явно задано
fetchDepth: 0
на шагеcheckout
.
Чтобы настроить глубину получения для конвейера, можно задать fetchDepth
свойство на шаге или настроить параметр "Мелкое получение" в checkout
пользовательском интерфейсе параметров конвейера.
Замечание
Если вы явно задали fetchDepth
на шаге checkout
, этот параметр имеет приоритет над параметром, настроенным в пользовательском интерфейсе параметров конвейера. Настройка fetchDepth: 0
извлекает всю историю и переопределяет параметр shallow fetch.
Очистка свойства
clean
Если свойство не задано, его значение по умолчанию настраивается с помощью чистого параметра в параметрах пользовательского интерфейса для конвейеров YAML, которое по умолчанию имеет значение true. Помимо доступных вариантов checkout
очистки, можно также настроить очистку в рабочей области. Дополнительные сведения о рабочих областях и параметрах очистки см. в разделе "Задания".
Теги синхронизации
Шаг извлечения использует параметр --tags
при получении содержимого репозитория Git. Это приводит к тому, что сервер извлекает все теги, а также все объекты, на которые указывают эти теги. Это увеличивает время выполнения задачи в конвейере, особенно если у вас есть большой репозиторий с рядом тегов. Кроме того, шаг извлечения синхронизирует теги, даже если включить параметр мелкой выборки, тем самым, возможно, победить его назначение. Чтобы уменьшить объем данных, полученных или извлекаемых из репозитория Git, корпорация Майкрософт добавила новый параметр для контроля поведения синхронизации тегов. Этот параметр доступен как в классических, так и в конвейерах YAML.
Можно ли синхронизировать теги при извлечении репозитория в YAML, задав свойство fetchTags
и в пользовательском интерфейсе, настроив теги синхронизации .
Чтобы настроить параметр в YAML, задайте свойство fetchTags
.
steps:
- checkout: self
fetchTags: true
Чтобы настроить параметр в пользовательском интерфейсе конвейера, измените конвейер YAML и выберите "Дополнительные действия", "Триггеры", "YamL", " Получить источники" и установить или снять флажок "Теги синхронизации ". Дополнительные сведения см. в разделе "Теги синхронизации".
Поведение по умолчанию
- Для существующих конвейеров, созданных до выпуска
спринта Azure DevOps 209 , выпущенного в сентябре 2022 года, значение по умолчанию для синхронизации тегов остается таким же, как и существующее поведениеперед добавлением тегов синхронизации, что. - Для новых конвейеров, созданных после выпуска спринта Azure DevOps 209, по умолчанию для синхронизации тегов
false
.
Это важно
Параметр тегов синхронизации true в пользовательском интерфейсе имеет приоритет над оператором fetchTags: false
в YAML. Если теги синхронизации имеют значение true в пользовательском интерфейсе, теги синхронизируются, даже если fetchTags
задано значение false в YAML.
Примеры
Существует три варианта checkout
. По умолчанию Azure DevOps проверяет текущий репозиторий для self
заданий. При установке none
репозиторий не извлекается. Если указать другой репозиторий, этот репозиторий извлекается. Чтобы сначала извлечь другой репозиторий, настройте его в качестве ресурса репозитория.
# Checkout the current repository
steps:
- checkout: self
# Prevent checking out any source code
steps:
- checkout: none
# Checkout a different repository
steps:
- checkout: my-other-repo
Чтобы избежать синхронизации источников, выполните приведенные далее действия.
steps:
- checkout: none
Замечание
Если вы запускаете агент в учетной записи локальной службы и хотите изменить текущий репозиторий с помощью операций git или загрузки подмодулей Git, предоставьте соответствующие разрешения пользователю учетных записей службы сборки коллекции проектов.
- checkout: self
submodules: true
persistCredentials: true
Чтобы проверить несколько репозиториев в конвейере, выполните несколько checkout
действий.
- checkout: self
- checkout: git://MyProject/MyRepo
- checkout: MyGitHubRepo # Repo declared in a repository resource
Для получения дополнительной информации см. Обзор нескольких репозиториев в вашем конвейере.