définition steps.checkout
Permet checkout
de configurer la façon dont le pipeline extrait le code source.
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.
Définitions qui font référence à cette définition : étapes
Propriétés
checkout
String. Obligatoire comme première propriété.
Configure l’extraction pour le dépôt spécifié. Spécifiez self
, none
, nom du référentiel ou ressource du référentiel. Pour plus d’informations, consultez Extraire plusieurs dépôts dans votre pipeline.
Notes
Si aucune étape n’est checkout
présente, la valeur par défaut self
pour jobs.job.step.checkout
et none
pour jobs.deployment.steps.checkout
.
checkout
String. Obligatoire comme première propriété.
Indique s’il faut ou non case activée le dépôt contenant cette définition de pipeline. Spécifiez self
ou none
.
clean
String.
Si la valeur est true, exécutez git propre -ffdx, suivie de git reset --hard HEAD avant d’effectuer l’extraction. true | Faux.
fetchDepth
String.
Profondeur du graphique Git à extraire.
fetchTags
String.
Définissez sur « true » pour synchroniser les balises lors de l’extraction du référentiel, ou « false » pour ne pas synchroniser les balises. Consultez les remarques relatives au comportement par défaut.
lfs
String.
Définissez sur « true » pour télécharger les fichiers LFS Git. La valeur par défaut est de ne pas les télécharger.
persistCredentials
String.
Définissez sur « true » pour laisser le jeton OAuth dans la configuration Git après l’extraction initiale. La valeur par défaut est de ne pas le quitter.
submodules
String.
Définissez sur « true » pour un seul niveau de sous-modules ou « récursif » pour obtenir des sous-modules de sous-modules. La valeur par défaut n’est pas d’extraire les sous-modules.
path
String.
Où placer le dépôt. Le répertoire racine est $(Pipeline.Workspace).
condition
String.
Évaluez cette expression de condition pour déterminer s’il faut exécuter cette tâche.
continueOnError
booléen.
Continuez à exécuter même en cas d’échec ?
displayName
String.
Nom lisible par l’homme pour la tâche.
target
cible.
Environnement dans lequel exécuter cette tâche.
enabled
booléen.
Exécuter cette tâche lors de l’exécution du travail ?
env
dictionnaire de chaînes.
Variables à mapper dans l’environnement du processus.
name
String.
ID de l’étape. Valeurs acceptables : [-_A-Za-z0-9]*.
timeoutInMinutes
String.
Délai d’attente de la fin de cette tâche avant que le serveur ne la tue.
Notes
Les pipelines peuvent être configurés avec un délai d’expiration au niveau du travail. Si l’intervalle de délai d’attente au niveau du travail s’écoule avant la fin de votre étape, le travail en cours d’exécution (y compris votre étape) est arrêté, même si l’étape est configurée avec un intervalle plus long timeoutInMinutes
. Pour plus d’informations, consultez Délais d’expiration.
retryCountOnTaskFailure
String.
Nombre de nouvelles tentatives si la tâche échoue.
Notes
Récupération superficielle
Important
Les nouveaux pipelines créés après la mise à jour de septembre 2022 du sprint 209 Azure DevOps ont l’extraction superficielle activée par défaut et configurée avec une profondeur de 1. Auparavant, la valeur par défaut était de ne pas faire d’extraction superficielle. Pour case activée votre pipeline, affichez le paramètre Extraction superficielle dans l’interface utilisateur des paramètres du pipeline.
Pour désactiver l’extraction superficielle, vous pouvez effectuer l’une des deux options suivantes.
- Désactivez l’option Extraction superficielle dans l’interface utilisateur des paramètres de pipeline.
- Défini explicitement
fetchDepth: 0
dans votrecheckout
étape.
Pour configurer la profondeur d’extraction d’un pipeline, vous pouvez définir la fetchDepth
propriété à l’étape checkout
, ou configurer le paramètre d’extraction superficielle dans l’interface utilisateur des paramètres du pipeline.
Notes
Si vous définissez fetchDepth
explicitement dans votre étape checkout
, ce paramètre est prioritaire sur le paramètre configuré dans l’interface utilisateur des paramètres de pipeline. La définition de fetchDepth: 0
récupère tout l’historique et remplace le paramètre Récupération superficielle.
Clean, propriété
Si la clean
propriété n’est pas définie, sa valeur par défaut est configurée par le paramètre propre dans les paramètres de l’interface utilisateur pour les pipelines YAML, qui est défini sur true par défaut. En plus de l’option de nettoyage disponible à l’aide checkout
de , vous pouvez également configurer le nettoyage dans un espace de travail. Pour plus d’informations sur les espaces de travail et les options de propre, consultez la rubrique espace de travail dans Travaux.
Synchroniser les étiquettes
L’étape d’extraction utilise l’option --tags
pendant la récupération du contenu d’un dépôt Git. Le serveur récupère alors toutes les étiquettes ainsi que de tous les objets désignés par ces étiquettes. Cela augmente le temps d’exécution de la tâche dans un pipeline, en particulier si vous avez un grand dépôt avec un certain nombre d’étiquettes. Par ailleurs, l’étape d’extraction synchronise les étiquettes même quand vous activez l’option de récupération superficielle, ce qui peut être contraire à son objectif. Pour réduire la quantité de données récupérées ou tirées d’un dépôt Git, Microsoft a ajouté une nouvelle option à l’extraction pour contrôler le comportement de synchronisation des étiquettes. Cette option est disponible à la fois dans les pipelines classiques et YAML.
La synchronisation des étiquettes pendant l’extraction d’un dépôt peut être configurée dans YAML en définissant la propriété fetchTags
, et dans l’interface utilisateur en configurant le paramètre Synchroniser les étiquettes.
Pour configurer le paramètre dans YAML, définissez la propriété fetchTags
.
steps:
- checkout: self
fetchTags: true
Pour configurer le paramètre dans l’interface utilisateur du pipeline, modifiez votre pipeline YAML, puis choisissez Autres actions, Déclencheurs, YAML, Obtenir des sources et case activée ou décochez la case Synchroniser les balises. Pour plus d’informations, consultez Synchroniser les balises.
Comportement par défaut
- Pour les pipelines existants créés avant la publication du sprint 209 Azure DevOps, publié en septembre 2022, la valeur par défaut pour la synchronisation des étiquettes est le comportement existant avant l’ajout des options Synchroniser les étiquettes, à savoir
true
. - Pour les nouveaux pipelines créés après la version 209 du sprint Azure DevOps, la valeur par défaut pour la synchronisation des étiquettes est
false
.
Important
Un paramètre de balises de synchronisation de true dans l’interface utilisateur est prioritaire sur une fetchTags: false
instruction dans yaML. Si les balises de synchronisation ont la valeur true dans l’interface utilisateur, les balises sont synchronisées même si fetchTags
est défini sur false dans yaML.
Exemples
Pour éviter la synchronisation des sources :
steps:
- checkout: none
Notes
Si vous exécutez l’agent dans le compte de service local et que vous souhaitez modifier le référentiel actuel à l’aide d’opérations git ou en chargeant des sous-modules Git, accordez les autorisations appropriées à l’utilisateur Comptes de service de build de collection de projets.
- checkout: self
submodules: true
persistCredentials: true
Pour case activée plusieurs dépôts dans votre pipeline, effectuez plusieurs checkout
étapes :
- checkout: self
- checkout: git://MyProject/MyRepo
- checkout: MyGitHubRepo # Repo declared in a repository resource
Pour plus d’informations, consultez Extraire plusieurs dépôts dans votre pipeline.