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
, , none
il 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à.
continueOnError
booleano.
Continuare l'esecuzione anche in caso di errore?
displayName
Stringa.
Nome leggibile per l'attività.
target
destinazione.
Ambiente in cui eseguire questa attività.
enabled
booleano.
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.
- Disabilitare l'opzione Recupero superficialenell'interfaccia utente delle impostazioni della pipeline.
- Impostare in modo esplicito
fetchDepth: 0
nelcheckout
passaggio.
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.