Exemple de version source avec AWS CodeBuild - AWS CodeBuild

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

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.

    • Reference et un ID de validation. La référence peut être l'un des éléments suivants :

      • 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 une profondeur de clonage Git faible. CodeBuild télécharge moins de versions de votre dépôt.

Pour spécifier une version de GitHub référentiel avec un ID de validation
  1. Ouvrez la AWS CodeBuild console à l'adresse https://console.aws.amazon.com/codesuite/codebuild/home.

  2. Créez un projet de génération. Pour plus d'informations, consultez Création d'un projet de génération (console) et Exécution d'une génération (console). 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/amazonlinux2-x86_64-standard:4.0.

  3. 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).

  4. 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.

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

  6. 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.

  7. Choisissez Démarrer la génération.

  8. 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.

Ces étapes vous montrent comment créer une version de génération à l'aide de la même version de la source. Cette fois, la version de la source est spécifiée à l'aide d'une référence avec l'ID de validation.

Pour spécifier une version de GitHub référentiel avec un ID de validation et une référence
  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.

  2. Choisissez Démarrer la génération.

  3. Dans Version de la source, saisissez refs/heads/main^{046e8b67481d53bdc86c3f6affdd5d1afae6d369}. 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}.

  4. Choisissez Démarrer la génération.

  5. 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.