

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Exemple de version source avec AWS CodeBuild
<a name="sample-source-version"></a>

 Cet exemple illustre la façon de spécifier une version de votre code source à l'aide d'un format autre qu'un ID de validation (également connu sous le nom de SHA de validation). Vous pouvez spécifier la version de votre source de différentes manières : 
+  Pour un fournisseur de source Amazon S3, utilisez l'ID de version de l'objet qui représente le fichier ZIP d'entrée de compilation. 
+  Pour CodeCommit Bitbucket et GitHub Enterprise Server GitHub, utilisez l'une des options suivantes : 
  +  Demande d’extraction en tant que référence de demande d'extraction (par exemple, `refs/pull/1/head`). 
  +  Branche en tant que nom de branche. 
  +  ID de validation. 
  +  Balise. 
  +  Référence et identifiant de validation. La référence peut être l'une des suivantes :
    +  Une balise (par exemple, `refs/tags/mytagv1.0^{full-commit-SHA}`). 
    +  Une branche (par exemple, `refs/heads/mydevbranch^{full-commit-SHA}`). 
    +  Une demande d'extraction (par exemple, `refs/pull/1/head^{full-commit-SHA}`). 
+  Pour GitLab et GitLab Autogéré, utilisez l'une des options suivantes : 
  +  Branche en tant que nom de branche. 
  +  ID de validation. 
  +  Balise. 

**Note**  
 Vous pouvez spécifier la version d'une source de pull request uniquement si votre référentiel est GitHub GitHub Enterprise Server. 

 Si vous utilisez une référence et un ID de validation pour spécifier une version, la phase `DOWNLOAD_SOURCE` de la génération est plus rapide que si vous indiquez uniquement la version. En effet, lorsque vous ajoutez une référence, il CodeBuild n'est pas nécessaire de télécharger l'intégralité du référentiel pour trouver le commit. 
+ Vous pouvez spécifier une version source avec seulement un ID de validation, par exemple `12345678901234567890123467890123456789`. Dans ce cas, vous CodeBuild devez télécharger l'intégralité du référentiel pour trouver la version.
+ Vous pouvez spécifier une version source avec une référence et un ID de validation dans ce format : `refs/heads/branchname^{full-commit-SHA}` (par exemple, `refs/heads/main^{12345678901234567890123467890123456789}`). Dans ce cas, CodeBuild télécharge uniquement la branche spécifiée pour trouver la version.

**Note**  
Pour accélérer la `DOWNLOAD_SOURCE` phase de votre build, vous pouvez également définir la **profondeur de clonage de Git** à un faible nombre. CodeBuild télécharge moins de versions de votre dépôt.

**Topics**
+ [

# Spécifiez une version de GitHub référentiel avec un ID de validation
](sample-source-version-github.md)
+ [

# Spécifiez une version GitHub du référentiel avec une référence et un ID de validation
](sample-source-version-github-ref.md)

# Spécifiez une version de GitHub référentiel avec un ID de validation
<a name="sample-source-version-github"></a>

Vous pouvez spécifier une version source avec seulement un ID de validation, par exemple `12345678901234567890123467890123456789`. Dans ce cas, vous CodeBuild devez télécharger l'intégralité du référentiel pour trouver la version.

**Pour spécifier une version de GitHub référentiel avec un ID de validation**

1. Ouvrez la AWS CodeBuild console sur [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home).

1. Créez un projet de génération. Pour plus d’informations, consultez [Création d'un projet de génération (console)](create-project.md#create-project-console) et [Exécution d'une génération (console)](run-build-console.md). Laissez tous les paramètres avec leurs valeurs par défaut, sauf pour les paramètres suivants.
   +  Dans **Source**: 
     +  Dans le **champ Source provider**, sélectionnez **GitHub**. Si vous n'êtes pas connecté à GitHub, suivez les instructions pour vous connecter. 
     +  Pour **Repository (Référentiel)**, choisissez **Public repository (Référentiel public)**. 
     +  Pour **Repository URL (URL du référentiel)**, saisissez **https://github.com/aws/aws-sdk-ruby.git** 
   + Dans **Environment (Environnement)** :
     + Pour **Image d'environnement**, choisissez **Managed image (Image gérée)**.
     + Pour **Operating system (Système d'exploitation)**, choisissez **Amazon Linux 2**.
     + Pour **Runtime(s) (Exécution(s))**, sélectionnez **Standard**.
     + Pour **Image**, choisissez **aws/codebuild/amazonlinux-x86\$164-standard:4.0**.

1.  Pour **Build spécification (Spécifications de génération)**, choisissez **Insérer des commandes de génération**, puis choisissez **Switch to editor (Passer à l'éditeur)**. 

1.  Dans **Build commands (Commandes de génération)**, remplacez le texte de l'espace réservé par ce qui suit : 

   ```
   version: 0.2
   
   phases:
     install:
       runtime-versions:
         ruby: 2.6
     build:
       commands:
          - echo $CODEBUILD_RESOLVED_SOURCE_VERSION
   ```

    La section `runtime-versions` est obligatoire lorsque vous utilisez l'image standard Ubuntu 2.0. Ici, la version Ruby 2.6 de l'exécution est spécifiée, mais vous pouvez utiliser n'importe quelle exécution. La commande `echo` affiche la version du code source stocké dans la variable d'environnement `CODEBUILD_RESOLVED_SOURCE_VERSION`. 

1.  Dans **Configuration de la génération**, acceptez les valeurs par défaut, puis choisissez **Démarrer la génération**. 

1.  Pour **Version de la source**, saisissez **046e8b67481d53bdc86c3f6affdd5d1afae6d369**. Il s'agit du SHA d'une validation dans le référentiel `https://github.com/aws/aws-sdk-ruby.git`. 

1.  Choisissez **Démarrer la génération**. 

1.  Une fois la génération terminée, vous devez voir ce qui suit : 
   +  Sur l’onglet **Journaux de génération**, la version de la source du projet qui a été utilisée. Voici un exemple.

     ```
     [Container] Date Time Running command echo $CODEBUILD_RESOLVED_SOURCE_VERSION 
     046e8b67481d53bdc86c3f6affdd5d1afae6d369
      
     [Container] Date Time Phase complete: BUILD State: SUCCEEDED
     ```
   +  Sur l’onglet **Variables d'environnement**, **Resolved source version (Version de source résolue)** correspond à l’ID de validation utilisé pour créer la validation. 
   +  Sur l'onglet **Détail de la phase**, la durée de la phase `DOWNLOAD_SOURCE`. 

# Spécifiez une version GitHub du référentiel avec une référence et un ID de validation
<a name="sample-source-version-github-ref"></a>

Vous pouvez spécifier une version source avec une référence et un ID de validation dans ce format : `refs/heads/branchname^{full-commit-SHA}` (par exemple, `refs/heads/main^{12345678901234567890123467890123456789}`). Dans ce cas, CodeBuild télécharge uniquement la branche spécifiée pour trouver la version.

**Pour spécifier une version de GitHub référentiel avec une référence et un ID de validation.**

1. Suivez les étapes de [Spécifiez une version de GitHub référentiel avec un ID de validation](sample-source-version-github.md).

1.  Dans le volet de navigation de gauche, choisissez **Projets de génération**, puis choisissez le projet que vous avez créé précédemment. 

1.  Choisissez **Démarrer la génération**. 

1.  Dans **Version de la source**, saisissez **refs/heads/main^\$1046e8b67481d53bdc86c3f6affdd5d1afae6d369\$1**. Il s'agit du même ID de validation et d’une référence à une branche dans le format `refs/heads/branchname^{full-commit-SHA}`. 

1.  Choisissez **Démarrer la génération**. 

1. Une fois la génération terminée, vous devez voir ce qui suit : 
   +  Sur l’onglet **Journaux de génération**, la version de la source du projet qui a été utilisée. Voici un exemple.

     ```
     [Container] Date Time Running command echo $CODEBUILD_RESOLVED_SOURCE_VERSION 
     046e8b67481d53bdc86c3f6affdd5d1afae6d369
      
     [Container] Date Time Phase complete: BUILD State: SUCCEEDED
     ```
   +  Sur l’onglet **Variables d'environnement**, **Resolved source version (Version de source résolue)** correspond à l’ID de validation utilisé pour créer la validation. 
   +  Sur l'onglet Détails de **Détail de la phase**, la durée de la phase `DOWNLOAD_SOURCE` doit être inférieure à la durée lorsque vous avez utilisé uniquement l'ID de validation pour spécifier la version de votre code source.