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.
Tutoriel : Utiliser un clone complet avec une source de CodeCommit pipeline
Vous pouvez choisir l'option de clonage complet pour votre action CodeCommit source dans CodePipeline. Utilisez cette option pour autoriser l'accès CodeBuild aux métadonnées Git dans votre action de création de pipeline.
Dans ce didacticiel, vous allez créer un pipeline qui accède à votre CodeCommit dépôt, utilise l'option de clonage complet pour les données sources et exécute une CodeBuild version qui clone votre référentiel et exécute des commandes Git pour le référentiel.
Note
CodeBuild les actions sont les seules actions en aval qui prennent en charge l'utilisation des métadonnées Git disponibles avec l'option Git clone. De plus, bien que votre pipeline puisse contenir des actions multicomptes, l' CodeCommitaction et l' CodeBuild action doivent se trouver dans le même compte pour que l'option de clonage complet réussisse.
Important
Dans le cadre de la création d'un pipeline, un compartiment d'artefacts S3 fourni par le client sera utilisé par CodePipeline les artefacts. (Ce compartiment est différent du compartiment utilisé pour une action source S3.) Si le compartiment d'artefacts S3 se trouve dans un compte différent de celui de votre pipeline, assurez-vous que le compartiment d'artefacts S3 appartient Comptes AWS à une société sûre et fiable.
Rubriques
Conditions préalables
Avant de commencer, vous devez créer un CodeCommit référentiel dans le même AWS compte et la même région que votre pipeline.
Étape 1 : Création d'un fichier README
Suivez ces étapes pour ajouter un fichier README à votre référentiel source. Le fichier README fournit un exemple de fichier source à lire pour l'action CodeBuild en aval.
Pour ajouter un fichier README
-
Connectez-vous à votre référentiel et choisissez votre référentiel.
-
Pour créer un nouveau fichier, choisissez Ajouter un fichier > Créer un fichier. Donnez un nom au fichier
README.mdet ajoutez le texte suivant.This is a CodeCommit repository! -
Choisissez Valider les modifications.
Assurez-vous que le fichier
README.mdest au niveau racine de votre référentiel.
Étape 2 : Créez votre pipeline et créez un projet
Dans cette section, vous créez un pipeline avec les actions suivantes :
-
Une étape source avec une action CodeCommit source.
-
Une étape de construction avec une action de AWS CodeBuild construction.
Pour créer un pipeline avec l'assistant
-
Connectez-vous à la CodePipeline console à l'adresse https://console.aws.amazon.com/codepipeline/
. -
Sur la page Bienvenue, Démarrez ou Pipelines, choisissez Créer un pipeline.
-
Sur la page Étape 1 : Choisissez l'option de création, sous Options de création, choisissez l'option Créer un pipeline personnalisé. Choisissez Suivant.
-
À l'étape 2 : choisissez les paramètres du pipeline, dans Nom du pipeline, entrez
MyCodeCommitPipeline. -
CodePipeline fournit des pipelines de type V1 et V2, dont les caractéristiques et le prix diffèrent. Le type V2 est le seul que vous pouvez choisir dans la console. Pour plus d’informations, consultez types de pipeline. Pour plus d'informations sur la tarification de CodePipeline, consultez la section Tarification
. -
Dans Rôle du service, sélectionnez l'une des options suivantes :
-
Choisissez Existing service role (Rôle de service existant).
-
Choisissez votre rôle CodePipeline de service actuel. Ce rôle doit disposer de l'autorisation
codecommit:GetRepositoryIAM pour votre politique de rôle de service. Consultez la section Ajouter des autorisations au rôle CodePipeline de service.
-
-
Sous Paramètres avancés, conservez les valeurs par défaut. Choisissez Suivant.
-
Sur la page Étape 3 : Ajouter une étape source, procédez comme suit :
-
Dans Fournisseur de source, choisissez CodeCommit.
-
Dans Nom du référentiel, choisissez le nom de votre référentiel.
-
Dans Nom de la succursale, choisissez le nom de votre succursale.
-
Veillez à ce que l'option Démarrer le pipeline lors de la modification du code source soit sélectionnée.
-
Sous Format d'artefact de sortie, choisissez Full clone pour activer l'option Git clone pour le référentiel source. Seules les actions fournies par CodeBuild peuvent utiliser l'option de clonage Git.
Choisissez Suivant.
-
-
À l'étape 4 : Ajouter une étape de construction, procédez comme suit :
-
Dans le champ Fournisseur de génération, choisissez AWS CodeBuild. Acceptez la région du pipeline comme Région par défaut.
-
Sélectionnez Create a project (Créer un projet).
-
Dans Nom du projet, saisissez un nom pour ce projet de génération.
-
Dans le champ Image d'environnement, choisissez Image gérée. Pour Système d'exploitation, choisissez Ubuntu.
-
Pour Runtime (Exécution), sélectionnez Standard. Pour Image, choisissez aws/codebuild /standard:5.0.
-
Pour Rôle de service, choisissez Nouveau rôle de service.
Note
Notez le nom de votre rôle CodeBuild de service. Vous aurez besoin du nom du rôle pour la dernière étape de ce didacticiel.
-
Sous Buildspec, pour Build specifications (Spécifications de génération), choisissez Insert build commands (Insérer des commandes de génération). Choisissez Passer à l'éditeur, puis, sous Commandes de génération, collez le code suivant.
version: 0.2 env: git-credential-helper: yes phases: install: #If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions. #If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails. runtime-versions: nodejs: 12 # name: version #commands: # - command # - command pre_build: commands: - ls -lt - cat README.md build: commands: - git log | head -100 - git status - ls - git describe --all #post_build: #commands: # - command # - command #artifacts: #files: # - location #name: $(date +%Y-%m-%d) #discard-paths: yes #base-directory: location #cache: #paths: # - paths -
Choisissez Continuer vers CodePipeline. Cela vous ramène à la CodePipeline console et crée un CodeBuild projet qui utilise vos commandes de build pour la configuration. Le projet de génération utilise un rôle de service pour gérer les Service AWS autorisations. Cette étape peut prendre quelques minutes.
-
Choisissez Suivant.
-
-
À l'étape 5 : Ajouter une phase de test, choisissez Ignorer la phase de test, puis acceptez le message d'avertissement en choisissant de nouveau Ignorer.
Choisissez Suivant.
-
Sur la page Étape 6 : Ajouter une phase de déploiement, choisissez Ignorer l'étape de déploiement, puis acceptez le message d'avertissement en choisissant de nouveau Ignorer. Choisissez Suivant.
-
À l'étape 7 : Révision, choisissez Créer un pipeline.
Étape 3 : mettre à jour la politique CodeBuild de rôle de service pour cloner le référentiel
L'exécution initiale du pipeline échouera car vous devez mettre à jour le rôle de CodeBuild service avec les autorisations nécessaires pour extraire des données de votre référentiel.
Ajoutez l'autorisation codecommit:GitPull IAM à votre politique de rôle de service. Pour obtenir des instructions sur la mise à jour de la politique dans la console IAM, consultezAjouter des CodeBuild GitClone autorisations pour les actions à CodeCommit la source.
Étape 4 : Afficher les commandes du référentiel dans la sortie de compilation
Pour afficher le résultat de la compilation
-
Lorsque votre rôle de service est correctement mis à jour, choisissez Réessayer lors de l' CodeBuild étape qui a échoué.
-
Une fois le pipeline exécuté avec succès, lors de la phase de création réussie, choisissez Afficher les détails.
Sur la page de détails, choisissez l'onglet Journaux. Afficher le résultat CodeBuild de la compilation. Les commandes génèrent la valeur de la variable saisie.
Les commandes affichent le contenu du
README.mdfichier, répertorient les fichiers du répertoire, clonent le référentiel, affichent le journal et s'exécutentgit describe --all.