Condividi tramite


definizione steps.checkout

Usare checkout per configurare il modo in cui la pipeline estrae il codice sorgente.

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.

Definizioni che fanno riferimento a questa definizione: passaggi

Proprietà

checkout Stringa. Obbligatorio come prima proprietà.
Configura il checkout per il repository specificato. Specificare self, , noneil nome del repository o la risorsa del repository. Per altre informazioni, vedere Controllare più repository nella pipeline.

Nota

Se non è presente alcun checkout passaggio, per impostazione predefinita self per jobs.job.step.checkout e none per jobs.deployment.steps.checkout.

checkout Stringa. Obbligatorio come prima proprietà.
Indica se controllare o meno il repository contenente questa definizione della pipeline. Specificare self o none.

clean Stringa.
Se true, eseguire git clean -ffdx seguito da git reset --hard HEAD prima del recupero. true | False.

fetchDepth Stringa.
Profondità del grafico Git da recuperare.

fetchTags Stringa.
Impostare su "true" per sincronizzare i tag durante il recupero del repository o su "false" per non sincronizzare i tag. Vedere le osservazioni per il comportamento predefinito.

lfs Stringa.
Impostare su "true" per scaricare i file Git-LFS. L'impostazione predefinita non consiste nel scaricarli.

persistCredentials Stringa.
Impostare su "true" per lasciare il token OAuth nella configurazione Git dopo il recupero iniziale. Il valore predefinito non prevede di lasciarlo.

submodules Stringa.
Impostare su "true" per un singolo livello di sottomoduli o "ricorsivo" per ottenere sottomoduli di moduli secondari. L'impostazione predefinita non consiste nel recuperare i moduli secondari.

path Stringa.
Posizione in cui inserire il repository. La directory radice è $(Pipeline.Workspace).

condition Stringa.
Valutare questa espressione di condizione per determinare se eseguire questa attività.

continueOnErrorbooleano.
Continuare l'esecuzione anche in caso di errore?

displayName Stringa.
Nome leggibile per l'attività.

targetdestinazione.
Ambiente in cui eseguire questa attività.

enabledbooleano.
Eseguire questa attività quando viene eseguito il processo?

env dizionario stringa.
Variabili di cui eseguire il mapping nell'ambiente del processo.

name Stringa.
ID del passaggio. Valori accettabili: [-_A-Za-z0-9]*.

timeoutInMinutes Stringa.
Tempo di attesa del completamento dell'attività prima che il server lo completi.

Nota

Le pipeline possono essere configurate con un timeout a livello di processo. Se l'intervallo di timeout a livello di processo è trascorso prima del completamento del passaggio, il processo in esecuzione (incluso il passaggio) viene terminato, anche se il passaggio è configurato con un intervallo più lungo timeoutInMinutes . Per altre informazioni, vedere Timeout.

retryCountOnTaskFailure Stringa.
Numero di tentativi se l'attività ha esito negativo.

Commenti

Recupero superficiale

Importante

Le nuove pipeline create dopo l'aggiornamento dello sprint 2022 di Azure DevOps di settembre 209sono abilitate per impostazione predefinita e configurate con una profondità di 1. In precedenza l'impostazione predefinita non era di recupero superficiale. Per controllare la pipeline, visualizzare l'impostazione recupero superficialenell'interfaccia utente delle impostazioni della pipeline.

Per disabilitare il recupero superficiale, è possibile eseguire una delle due opzioni seguenti.

Per configurare la profondità di recupero per una pipeline, è possibile impostare la fetchDepth proprietà nel checkout passaggio oppure configurare l'impostazione recupero superficialenell'interfaccia utente delle impostazioni della pipeline.

Nota

Se si imposta fetchDepth in modo esplicito nel checkout passaggio, tale impostazione assume la priorità rispetto all'impostazione configurata nell'interfaccia utente delle impostazioni della pipeline. L'impostazione fetchDepth: 0 recupera tutta la cronologia ed esegue l'override dell'impostazione Recupero superficiale .

Proprietà clean

Se la clean proprietà non è impostata, il valore predefinito viene configurato dall'impostazione pulita nelle impostazioni dell'interfaccia utente per le pipeline YAML, che è impostata su true per impostazione predefinita. Oltre all'opzione di pulizia disponibile tramite checkout, è anche possibile configurare la pulizia in un'area di lavoro. Per altre informazioni sulle aree di lavoro e sulle opzioni di pulizia, vedere l'argomento relativo all'area di lavoro in Processi.

Tag di sincronizzazione

Il passaggio di estrazione usa l'opzione --tags durante il recupero del contenuto di un repository Git. In questo modo il server recupera tutti i tag e tutti gli oggetti a cui puntano tali tag. Ciò aumenta il tempo necessario per eseguire l'attività in una pipeline, in particolare se si dispone di un repository di grandi dimensioni con un numero di tag. Inoltre, il passaggio di checkout sincronizza i tag anche quando si abilita l'opzione di recupero superficiale, potenzialmente sconfiggendone lo scopo. Per ridurre la quantità di dati recuperati o estratti da un repository Git, Microsoft ha aggiunto una nuova opzione per controllare il comportamento dei tag di sincronizzazione. Questa opzione è disponibile nelle pipeline classiche e YAML.

Se sincronizzare i tag quando si estrae un repository può essere configurato in YAML impostando la fetchTags proprietà e nell'interfaccia utente configurando l'impostazione Sincronizza tag .

Per configurare l'impostazione in YAML, impostare la fetchTags proprietà .

steps:
- checkout: self
  fetchTags: true

Per configurare l'impostazione nell'interfaccia utente della pipeline, modificare la pipeline YAML e scegliere Altre azioni, Trigger, YAML, Recupera origini e selezionare o deselezionare la casella di controllo Sincronizza tag . Per altre informazioni, vedere Sincronizzare i tag.

Comportamento predefinito

  • Per le pipeline esistenti create prima del rilascio dello sprint 209 di Azure DevOps, rilasciate a settembre 2022, l'impostazione predefinita per i tag di sincronizzazione rimane la stessa del comportamento esistente prima dell'aggiunta delle opzioni dei tag di sincronizzazione , ovvero true.
  • Per le nuove pipeline create dopo la versione 209 dello sprint di Azure DevOps, l'impostazione predefinita per i tag di sincronizzazione è false.

Importante

L'impostazione Dei tag di sincronizzazione true nell'interfaccia utente ha la precedenza su un'istruzione fetchTags: false in YAML. Se i tag di sincronizzazione sono impostati su true nell'interfaccia utente, i tag vengono sincronizzati anche se fetchTags è impostato su false in YAML.

Esempio

Per evitare la sincronizzazione delle origini:

steps:
- checkout: none

Nota

Se si esegue l'agente nell'account del servizio locale e si vuole modificare il repository corrente usando le operazioni git o il caricamento di sottomoduli git, concedere le autorizzazioni appropriate all'utente account del servizio di compilazione della raccolta di progetti.

- checkout: self
  submodules: true
  persistCredentials: true

Per eseguire il check-out di più repository nella pipeline, usare più checkout passaggi:

- checkout: self
- checkout: git://MyProject/MyRepo
- checkout: MyGitHubRepo # Repo declared in a repository resource

Per altre informazioni, vedere Esaminare più repository nella pipeline.

Vedi anche