Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pomocí checkout můžete nakonfigurovat, jak kanál kontroluje zdrojový kód.
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.
Definice, které odkazují na tuto definici: kroky
Vlastnosti
checkout řetězec. Povinné jako první vlastnost.
Nakonfiguruje rezervaci pro zadané úložiště. Zadejte self, none, název úložiště nebo prostředku úložiště. Další informace najdete v tématu Rezervace více úložišť v kanálu.
Poznámka
Pokud není k dispozici žádný checkout krok, ve výchozím nastavení se self pro jobs.job.step.checkout a none pro jobs.deployment.steps.checkout.
clean řetězec.
Pokud je true, spusťte git clean -ffdx následovaný resetováním gitu --hard HEAD před načtením. true | falešný.
fetchDepth řetězec.
hloubky grafu Gitu, který se má načíst.
fetchFilter řetězec.
Pomocí fetchFilter můžete filtrovat historii Gitu pro částečné klonování. Nastavení fetchFilter podporuje načítání bez stromové struktury a bez objektů blob. Pro načtení bez stromové struktury zadejte fetchFilter: tree:0 a chcete-li zadat načtení bez objektů blob, zadejte fetchFilter: blob:none. Výchozí hodnota není filtrování.
fetchTags řetězec.
nastavit na true pro synchronizaci značek při načítání úložiště nebo false, aby se značky nesynchronizují. Viz poznámky pro výchozí chování.
lfs řetězec.
Nastavit na true pro stahování Git-LFS souborů. Ve výchozím nastavení je nelze stáhnout.
persistCredentials řetězec.
Nastavit na true, aby po počátečním načtení nechal token OAuth v konfiguraci Gitu. Výchozí hodnota není ponechána.
submodules řetězec.
Nastavit na hodnotu true pro jednu úroveň dílčích modulů nebo rekurzivní pro získání dílčích modulů. Výchozí hodnota není k načtení dílčích modulů.
path řetězec.
Kam umístit úložiště. Kořenový adresář je $(Pipeline.Workspace). Ve výchozím nastavení musí být tato složka pod pracovní adresářovou strukturou agenta. Pokud chcete nastavit cestu mimo pracovní adresář agenta, nastavte proměnnou kanálu s názvem AZP_AGENT_ALLOW_WORK_DIRECTORY_REPOSITORIES na true a na začátku cesty k pokladně použijte předponu ../. Podporováno u agenta verze 3.230.0 a vyšší.
sparseCheckoutDirectories řetězec.
Zadejte adresář pro povolení řídké rezervace v režimu kužele pomocí porovnávání adresářů. Oddělte více adresářů pomocí mezery. Podporováno u agenta verze 3.253.0/4.253.0 a vyšší s Gitem 2.25 nebo novějším.
- checkout: repo
sparseCheckoutDirectories: src
Pokud jsou nastavené sparseCheckoutDirectories i sparseCheckoutPatterns, použije se sparseCheckoutDirectories a nastavení pro sparseCheckoutPatterns se ignoruje.
Další informace o řídké pokladně najdete v tématu Snížení velikosti monorepo s.
sparseCheckoutPatterns řetězec.
Zadejte vzor pro povolení řídké rezervace v režimu bez kužele pomocí porovnávání vzorů. Oddělte více vzorů pomocí mezery. Podporováno u agenta verze 3.253.0/4.253.0 a vyšší s Gitem 2.25 nebo novějším.
- checkout: repo
sparseCheckoutPatterns: /* !/img
Pokud jsou nastavené sparseCheckoutDirectories i sparseCheckoutPatterns, použije se sparseCheckoutDirectories a nastavení pro sparseCheckoutPatterns se ignoruje.
Další informace o řídké pokladně najdete v tématu Snížení velikosti monorepo s.
workspaceRepo řetězec.
Pokud je true, použijte kořenový adresář úložiště jako výchozí pracovní adresář kanálu. Výchozí hodnota je false.
condition řetězec.
Vyhodnocení tohoto výrazu podmínky k určení, zda má být spuštěna tato úloha.
continueOnError
logických.
Pokračovat i při selhání?
displayName řetězec.
název úkolu čitelný pro člověka.
target
cílové.
prostředí, ve kterém chcete tuto úlohu spustit.
enabled
logických.
Spustit tuto úlohu při spuštění úlohy?
env řetězcový slovník.
proměnné pro mapování do prostředí procesu.
name řetězec.
ID kroku. Přijatelné hodnoty: [-_A-Za-z0-9]*.
timeoutInMinutes řetězec.
Doba čekání na dokončení této úlohy před ukončením serveru.
Poznámka
Kanály můžou být nakonfigurované s vypršením časového limitu na úrovni úlohy. Pokud časový limit na úrovni úlohy uplynul před dokončením kroku, je spuštěná úloha (včetně kroku) ukončena, i když je krok nakonfigurovaný s delším timeoutInMinutes intervalem. Další informace najdete v tématu vypršení časových limitů.
retryCountOnTaskFailure řetězec.
Počet opakování, pokud úloha selže.
Poznámky
- mělké načtení
- Clean
- značky synchronizace
- mělké načtení
- Clean
Mělký fetch
Poznámka
V některých organizacích mají nové kanály vytvořené po aktualizaci září 2022 Azure DevOps 209mělké načtení ve výchozím nastavení povolené a nakonfigurované s hloubkou 1. Dříve se výchozí hodnota nenačítá.
Pokud chcete zkontrolovat kanál, podívejte se na nastavení Mělké načtení v uživatelském rozhraní nastavení kanálu.
Pokud chcete zakázat mělké načítání, můžete provést jednu z následujících dvou možností.
- V uživatelském rozhraní nastavení kanáluzakažte možnost Mělké načtení .
- Explicitně nastavte
fetchDepth: 0v krokucheckout.
Pokud chcete nakonfigurovat hloubku načítání kanálu, můžete buď nastavit vlastnost fetchDepth v kroku checkout, nebo nakonfigurovat nastavení Mělké načtení v uživatelském rozhranínastavení kanálu .
Poznámka
Pokud explicitně nastavíte fetchDepth v kroku checkout, toto nastavení má přednost před nastavením nakonfigurovaným v uživatelském rozhraní nastavení kanálu. Nastavení fetchDepth: 0 načte veškerou historii a přepíše nastavení Mělké načtení.
Vyčistit vlastnost
Pokud vlastnost clean není nastavená, je její výchozí hodnota nakonfigurovaná čisté v nastavení uživatelského rozhraní pro kanály YAML, která je ve výchozím nastavení nastavena na true. Kromě možnosti čištění, která je dostupná pomocí checkout, můžete také nakonfigurovat čištění v pracovním prostoru. Další informace o pracovních prostorech a možnostech čištění najdete v tématu pracovního prostoru v úlohy.
Synchronizovat značky
Krok rezervace používá při načítání obsahu úložiště Git možnost --tags. To způsobí, že server načte všechny značky a všechny objekty, na které tyto značky odkazují. Tím se zvýší doba spuštění úlohy v kanálu, zejména pokud máte velké úložiště s řadou značek. Kromě toho krok rezervace synchronizuje značky i v případě, že povolíte možnost načtení mělké verze, a tím může porazit její účel. Aby se snížil objem načtených nebo načtených dat z úložiště Git, microsoft přidal novou možnost, která umožňuje kontrolu chování synchronizačních značek. Tato možnost je dostupná jak v klasických kanálech, tak v kanálech YAML.
Chcete-li nakonfigurovat, zda se mají synchronizovat značky při rezervaci úložiště, můžete buď nastavit fetchTags vlastnost v kroku checkout , nebo nakonfigurovat nastavení Synchronizovat značky v uživatelském rozhraní nastavení kanálu.
Poznámka
Pokud v checkout kroku explicitně nastavítefetchTags, bude mít toto nastavení přednost před nastavením Synchronizovat značky nakonfigurovaným v uživatelském rozhraní nastavení kanálu.
Chcete-li nakonfigurovat nastavení v YAML, nastavte vlastnost fetchTags.
steps:
- checkout: self
fetchTags: true
Pokud chcete nakonfigurovat nastavení v uživatelském rozhraní kanálu, upravte kanál YAML a zvolte Další akce, Triggery, YAML, Získat zdrojea zaškrtněte nebo zrušte zaškrtnutí políčka Synchronizovat značky. Další informace najdete v tématu Synchronizace značek.
Výchozí chování
- Pro stávající kanály vytvořené před vydáním sprintu Azure DevOps 209vydané v září 2022 zůstává výchozí nastavení synchronizace značek stejné jako u stávajícího chování před přidáním možností značek synchronizace, což je
true. - U nových kanálů vytvořených po verzi sprintu Azure DevOps 209 je výchozí nastavení pro synchronizaci značek
false.
Příklady
Existují tři možnosti pro checkout. Azure DevOps ve výchozím nastavení kontroluje aktuální úložiště s self pro úlohy. Když nastavíte none, není rezervováno žádné úložiště. Pokud zadáte jiné úložiště, je toto úložiště rezervováno. Pokud chcete rezervovat jiné úložiště, nastavte ho jako prostředek úložiště nejprve.
# 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
Abyste se vyhnuli synchronizaci zdrojů vůbec:
steps:
- checkout: none
Poznámka
Pokud používáte agenta v účtu místní služby a chcete upravit aktuální úložiště pomocí operací gitu nebo načtením dílčích modulů Gitu, udělte uživatelům účtů služby sestavení kolekce projektů správná oprávnění.
- checkout: self
submodules: true
persistCredentials: true
Pokud chcete rezervovat více úložišť v kanálu, použijte několik checkout kroků:
- checkout: self
- checkout: git://MyProject/MyRepo
- checkout: MyGitHubRepo # Repo declared in a repository resource
Další informace najdete v tématu Rezervace více úložišť v kanálu.