Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Utilisez checkout
pour 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: 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.
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.
Définitions qui font référence à cette définition : étapes
Propriétés
chaîne checkout
. Obligatoire en tant que première propriété.
Configure l’extraction pour le référentiel spécifié. Spécifiez self
, none
, nom de référentielou ressource de référentiel. Pour plus d’informations, consultez Extraire plusieurs référentiels dans votre pipeline.
Remarque
Si aucune étape de checkout
n’est présente, elle est par défaut self
pour jobs.job.step.checkout
et none
pour jobs.deployment.steps.checkout
.
chaîne clean
.
Si la valeur est true, exécutez git clean -ffdx suivie de la réinitialisation git --hard HEAD avant la récupération. true | faux.
chaîne fetchDepth
.
profondeur du graphique Git à extraire.
chaîne fetchFilter
.
Utilisez fetchFilter
pour filtrer l’historique Git pour le clonage partiel. Le paramètre fetchFilter
prend en charge les extractions sans arborescence et sans objet blob. Pour une extraction sans arborescence, spécifiez fetchFilter: tree:0
et spécifiez une extraction sans objet blob, spécifiez fetchFilter: blob:none
. La valeur par défaut n’est pas de filtrage.
chaîne fetchTags
.
défini sur « true » pour synchroniser les balises lors de l’extraction du dépôt, ou « false » pour ne pas synchroniser les balises. Consultez les remarques relatives au comportement par défaut.
chaîne lfs
.
défini sur « true » pour télécharger les fichiers Git-LFS. La valeur par défaut n’est pas de les télécharger.
chaîne persistCredentials
.
défini sur « true » pour laisser le jeton OAuth dans la configuration Git après la récupération initiale. La valeur par défaut n’est pas de la laisser.
chaîne submodules
.
défini sur « true » pour un niveau unique de sous-modules ou « récursif » pour obtenir des sous-modules de sous-modules. La valeur par défaut n’est pas de récupérer les sous-modules.
chaîne path
.
Où placer le référentiel. Le répertoire racine est $(Pipeline.Workspace). Par défaut, ce dossier doit se trouver sous la structure du répertoire de travail de l’agent. Pour définir un chemin en dehors du répertoire de travail de l’agent, définissez une variable de pipeline nommée AZP_AGENT_ALLOW_WORK_DIRECTORY_REPOSITORIES
sur true et utilisez le préfixe ../
au début de votre chemin d’extraction. Prise en charge sur l’agent version 3.230.0 et ultérieure.
chaîne sparseCheckoutDirectories
.
Spécifier un répertoire pour activer l’extraction partiellement alloué en mode cône à l’aide de la correspondance de répertoire. Séparez plusieurs répertoires à l’aide d’un espace. Prise en charge sur l’agent version 3.253.0/4.253.0 et versions ultérieures avec Git 2.25 ou version ultérieure.
- checkout: repo
sparseCheckoutDirectories: src
Si sparseCheckoutDirectories
et sparseCheckoutPatterns
sont définis, sparseCheckoutDirectories
est utilisé et le paramètre de sparseCheckoutPatterns
est ignoré.
Pour plus d’informations sur la caisse éparse, consultez Mettre votre monorepo à la taille avec deséparses.
chaîne sparseCheckoutPatterns
.
Spécifier un modèle pour activer l’extraction éparse en mode non cone à l’aide de la correspondance de modèle. Séparez plusieurs modèles à l’aide d’un espace. Prise en charge sur l’agent version 3.253.0/4.253.0 et versions ultérieures avec Git 2.25 ou version ultérieure.
- checkout: repo
sparseCheckoutPatterns: /* !/img
Si sparseCheckoutDirectories
et sparseCheckoutPatterns
sont définis, sparseCheckoutDirectories
est utilisé et le paramètre de sparseCheckoutPatterns
est ignoré.
Pour plus d’informations sur la caisse éparse, consultez Mettre votre monorepo à la taille avec deséparses.
chaîne workspaceRepo
.
Lorsque la valeur est true, utilisez le répertoire racine du référentiel comme répertoire de travail par défaut pour le pipeline. La valeur par défaut est false.
chaîne condition
.
Évaluer cette expression de condition pour déterminer s’il faut exécuter cette tâche.
chaîne displayName
.
nom lisible par l’homme pour la tâche.
env
dictionnaire de chaînes.
Variables à mapper dans l’environnement du processus.
chaîne name
.
ID de l’étape. Valeurs acceptables : [-_A-Za-z0-9]*.
chaîne timeoutInMinutes
.
Délai d’attente de cette tâche avant que le serveur ne le tue.
Remarque
Les pipelines peuvent être configurés avec un délai d’expiration au niveau du travail. Si l’intervalle de délai d’expiration du 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 de timeoutInMinutes
plus long. Pour plus d’informations, consultez délais d’expiration.
chaîne retryCountOnTaskFailure
.
Nombre de nouvelles tentatives en cas d’échec de la tâche.
Remarques
- de récupération superficielle
- Clean, propriété
- les balises de synchronisation
- de récupération superficielle
- Clean, propriété
Extraction superficielle
Remarque
Dans certaines organisations, les nouveaux pipelines créés après la mise à jour septembre 2022 d’Azure DevOps sprint 209 ont extraction superficielle activée par défaut et configurées avec une profondeur de 1. Auparavant, la valeur par défaut n’était pas d’extraction superficielle.
Pour vérifier votre pipeline, affichez le paramètre de d’extraction peu profond dans l’interface utilisateur des paramètres de pipeline .
Pour désactiver la récupération superficielle, vous pouvez effectuer l’une des deux options suivantes.
- Désactivez l’option De récupération superficielle dans l’interface utilisateur des paramètres de pipeline .
- Définissez explicitement
fetchDepth: 0
à votre étape decheckout
.
Pour configurer la profondeur d’extraction d’un pipeline, vous pouvez définir la propriété fetchDepth
à l’étape de checkout
, ou configurer le paramètre Extraction superficielle dans l’interface utilisateur des paramètres de pipeline .
Remarque
Si vous définissez explicitement fetchDepth
dans votre étape de checkout
, ce paramètre prend la priorité sur le paramètre configuré dans l’interface utilisateur des paramètres de pipeline. Le paramètre fetchDepth: 0
récupère l’historique et remplace le paramètre fetch shallow.
Nettoyer la propriété
Si la propriété clean
n’est pas définie, sa valeur par défaut est configurée par le paramètre nettoyer dans les paramètres de l’interface utilisateur pour les pipelines YAML, qui est défini sur true par défaut. Outre l’option de nettoyage disponible à l’aide de checkout
, vous pouvez également configurer le nettoyage dans un espace de travail. Pour plus d’informations sur les espaces de travail et les options de nettoyage, consultez la rubrique espace de travail dans Travaux.
Balises de synchronisation
L’étape d’extraction utilise l’option --tags
lors de l’extraction du contenu d’un dépôt Git. Cela entraîne l’extraction de toutes les balises ainsi que tous les objets pointés par ces balises. Cela augmente le temps d’exécution de la tâche dans un pipeline, en particulier si vous avez un grand référentiel avec un certain nombre de balises. En outre, l’étape d’extraction synchronise les balises même lorsque vous activez l’option d’extraction superficielle, ce qui peut vaincre son objectif. Pour réduire la quantité de données extraites ou extraites d’un référentiel Git, Microsoft a ajouté une nouvelle option pour contrôler le comportement des balises de synchronisation. Cette option est disponible à la fois dans les pipelines CLASSIQUES et YAML.
Indique si vous souhaitez synchroniser des balises lors de la vérification d’un référentiel dans YAML en définissant la propriété fetchTags
et dans l’interface utilisateur en configurant les balises de synchronisation paramètre.
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 et choisissez Autres actions, Déclencheurs, YAML, Obtenir des sources, puis cochez ou décochez la case Synchroniser les balises. Pour plus d’informations, consultez balises de synchronisation.
Comportement par défaut
- Pour les pipelines existants créés avant la publication de sprint Azure DevOps 209, publié en septembre 2022, la valeur par défaut pour la synchronisation des balises reste identique au comportement existant avant l’ajout des étiquettes de synchronisation options de synchronisation, qui est
true
. - Pour les nouveaux pipelines créés après la version sprint d’Azure DevOps 209, la valeur par défaut pour la synchronisation des balises est
false
.
Important
Les balises de synchronisation paramètre true dans l’interface utilisateur sont prioritaires sur une instruction fetchTags: false
dans yaML. Si balises de synchronisation a la valeur true dans l’interface utilisateur, les balises sont synchronisées même si fetchTags
a la valeur false dans yaML.
Exemples
Il existe trois options pour checkout
. Par défaut, Azure DevOps extrait le référentiel actuel avec self
pour les travaux. Lorsque vous définissez none
, aucun référentiel n’est extrait. Si vous spécifiez un autre référentiel, ce référentiel est extrait. Pour extraire un autre référentiel, configurez-le en tant que ressource de référentiel d’abord.
# 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
Pour éviter la synchronisation des sources du tout :
steps:
- checkout: none
Remarque
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 de chargement de sous-modules Git, accordez les autorisations appropriées à l’utilisateur des comptes de service de génération de regroupement de projets.
- checkout: self
submodules: true
persistCredentials: true
Pour extraire plusieurs référentiels dans votre pipeline, utilisez plusieurs étapes checkout
:
- checkout: self
- checkout: git://MyProject/MyRepo
- checkout: MyGitHubRepo # Repo declared in a repository resource
Pour plus d’informations, consultez Extraire plusieurs référentiels dans votre pipeline.