steps.checkout-definition
Använd checkout
för att konfigurera hur pipelinen checkar ut källkod.
steps:
- checkout: string # Required as first property. Configures checkout for the specified repository.
clean: string # 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: string # 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: string # 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.
steps:
- checkout: string # Required as first property. Whether or not to check out the repository containing this pipeline definition.
clean: string # 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.
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.
steps:
- checkout: string # Required as first property. Whether or not to check out the repository containing this pipeline definition.
clean: string # 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.
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.
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.
Definitioner som refererar till den här definitionen: steg
Egenskaper
checkout
Sträng. Krävs som första egenskap.
Konfigurerar utcheckning för den angivna lagringsplatsen. Ange self
, none
, lagringsplatsnamn eller lagringsplatsresurs. Mer information finns i Kolla in flera lagringsplatser i din pipeline.
Anteckning
Om det inte finns något checkout
steg används standardinställningen self
för och none
jobs.job.step.checkout
för jobs.deployment.steps.checkout
.
checkout
Sträng. Krävs som första egenskap.
Om du vill checka ut lagringsplatsen som innehåller den här pipelinedefinitionen eller inte. Ange self
eller none
.
clean
Sträng.
Om det är sant kör du git clean -ffdx följt av git reset --hard HEAD innan du hämtar. true | Falska.
fetchDepth
Sträng.
Djupet i Git-grafen som ska hämtas.
fetchTags
Sträng.
Ställ in på "true" för att synkronisera taggar när du hämtar lagringsplatsen, eller "false" för att inte synkronisera taggar. Se kommentarer för standardbeteendet.
lfs
Sträng.
Ange till "true" för att ladda ned Git-LFS-filer. Standardvärdet är inte att ladda ned dem.
persistCredentials
Sträng.
Ställ in på "true" för att lämna OAuth-token i Git-konfigurationen efter den första hämtningen. Standardinställningen är inte att lämna den.
submodules
Sträng.
Ange "true" för en enskild nivå av undermoduler eller "rekursiv" för att hämta undermoduler av undermoduler. Standardvärdet är inte att hämta undermoduler.
path
Sträng.
Var lagringsplatsen ska placeras. Rotkatalogen är $(Pipeline.Workspace).
condition
Sträng.
Utvärdera villkorsuttrycket för att avgöra om den här aktiviteten ska köras.
continueOnError
booleskt värde.
Vill du fortsätta köra även vid fel?
displayName
Sträng.
Läsbart namn för uppgiften.
target
mål.
Miljö där den här uppgiften ska köras.
enabled
booleskt värde.
Kör du den här uppgiften när jobbet körs?
env
strängordlista.
Variabler som ska mappas till processens miljö.
name
Sträng.
ID för steget. Acceptabla värden: [-_A-Za-z0-9]*.
timeoutInMinutes
Sträng.
Det är dags att vänta tills den här uppgiften har slutförts innan servern avslutar den.
Anteckning
Pipelines kan konfigureras med en tidsgräns på jobbnivå. Om tidsgränsintervallet på jobbnivå förflutit innan steget har slutförts avslutas det jobb som körs (inklusive ditt steg), även om steget har konfigurerats med ett längre timeoutInMinutes
intervall. Mer information finns i Timeouter.
retryCountOnTaskFailure
Sträng.
Antal återförsök om aktiviteten misslyckas.
Kommentarer
Ytlig hämtning
Viktigt
Nya pipelines som skapats efter uppdateringen av Azure DevOps sprint 209 i september 2022 har Shallow-hämtning aktiverat som standard och konfigurerat med djupet 1. Tidigare var standardinställningen inte ytlig hämtning. Om du vill kontrollera din pipeline visar du inställningen Shallow fetch (Ytlig hämtning ) i användargränssnittet för pipelineinställningar.
Om du vill inaktivera ytlig hämtning kan du utföra något av följande två alternativ.
- Inaktivera alternativet Shallow fetch (Ytlig hämtning ) i användargränssnittet för pipelineinställningar.
fetchDepth: 0
Ange uttryckligen i dittcheckout
steg.
Om du vill konfigurera hämtningsdjupet för en pipeline kan du antingen ange fetchDepth
egenskapen i checkout
steget eller konfigurera inställningen Shallow fetch i användargränssnittet för pipelineinställningar.
Anteckning
Om du uttryckligen anger fetchDepth
i steget checkout
prioriteras den inställningen framför inställningen som konfigureras i användargränssnittet för pipelineinställningar. Inställningen fetchDepth: 0
hämtar all historik och åsidosätter hämtningsinställningen Shallow .
Rensa egenskap
clean
Om egenskapen inte har angetts konfigureras standardvärdet av inställningen rensa i UI-inställningarna för YAML-pipelines, som är inställt på true som standard. Förutom det rensningsalternativ som är tillgängligt med kan checkout
du även konfigurera rensning på en arbetsyta. Mer information om arbetsytor och alternativ för rensning finns i avsnittet om arbetsytor i Jobb.
Synkronisera taggar
I utcheckningssteget --tags
används alternativet när innehållet på en Git-lagringsplats hämtas. Detta gör att servern hämtar alla taggar samt alla objekt som pekas på av dessa taggar. Detta ökar tiden för att köra aktiviteten i en pipeline, särskilt om du har en stor lagringsplats med ett antal taggar. Dessutom synkroniserar utcheckningssteget taggar även när du aktiverar alternativet för ytlig hämtning, vilket kan motverka dess syfte. För att minska mängden data som hämtas eller hämtas från en Git-lagringsplats har Microsoft lagt till ett nytt alternativ för att checka ut för att styra beteendet för synkronisering av taggar. Det här alternativet är tillgängligt både i klassiska pipelines och YAML-pipelines.
Om du vill synkronisera taggar när du checkar ut en lagringsplats kan konfigureras i YAML genom att ange fetchTags
egenskapen och i användargränssnittet genom att konfigurera inställningen Synkroniseringstaggar .
Om du vill konfigurera inställningen i YAML anger du fetchTags
egenskapen .
steps:
- checkout: self
fetchTags: true
Om du vill konfigurera inställningen i pipelinegränssnittet redigerar du din YAML-pipeline och väljer Fler åtgärder, Utlösare, YAML, Hämta källor och markerar eller avmarkerar kryssrutan Synkronisera taggar . Mer information finns i Synkronisera taggar.
Standardbeteende
- För befintliga pipelines som skapats före lanseringen av Azure DevOps sprint 209, som släpptes i september 2022, förblir standardinställningen för synkronisering av taggar samma som det befintliga beteendet innan alternativen för synkroniseringstaggar lades till, vilket är
true
. - För nya pipelines som skapats efter Azure DevOps sprint version 209 är
false
standardinställningen för att synkronisera taggar .
Viktigt
Inställningen Synkroniseringstaggar för true i användargränssnittet har företräde framför en fetchTags: false
-instruktion i YAML. Om Synkroniseringstaggar är inställda på true i användargränssnittet synkroniseras taggar även om fetchTags
har angetts till false i YAML.
Exempel
Så här undviker du alls synkronisering av källor:
steps:
- checkout: none
Anteckning
Om du kör agenten i det lokala tjänstkontot och vill ändra den aktuella lagringsplatsen med hjälp av git-åtgärder eller läsa in git-undermoduler, ger du rätt behörigheter till project collection build service accounts-användaren.
- checkout: self
submodules: true
persistCredentials: true
Om du vill checka ut flera lagringsplatser i pipelinen använder du flera checkout
steg:
- checkout: self
- checkout: git://MyProject/MyRepo
- checkout: MyGitHubRepo # Repo declared in a repository resource
Mer information finns i Kolla in flera lagringsplatser i pipelinen.