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.

continueOnErrorbooléen.
Continuez à exécuter même en cas d’échec ?

displayName String.
Nom lisible par l’homme pour la tâche.

targetcible.
Environnement dans lequel exécuter cette tâche.

enabledboolé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.

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 checkoutde , 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.

Voir aussi