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 GitHub pipeline
Vous pouvez choisir l'option de clonage complet pour votre action GitHub source dans CodePipeline. Utilisez cette option pour exécuter des CodeBuild commandes pour les métadonnées Git dans l'action de création de votre pipeline.
Note
L'option de clonage complet décrite ici consiste à spécifier s'il CodePipeline faut cloner les métadonnées du référentiel, qui ne peuvent être utilisées que par CodeBuild des commandes. Pour utiliser un jeton GitHub d'accès utilisateur
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.
Dans ce didacticiel, vous allez créer un pipeline qui se connecte à votre GitHub référentiel, 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
Cette fonctionnalité n'est pas disponible dans les régions Asie-Pacifique (Hong Kong), Afrique (Le Cap), Moyen-Orient (Bahreïn), Europe (Zurich) ou AWS GovCloud (US-West). Pour consulter les autres actions disponibles, consultezIntégrations de produits et de services avec CodePipeline. Pour les considérations relatives à cette action dans la région Europe (Milan), voir la note figurant dansCodeStarSourceConnection pour Bitbucket Cloud GitHub, GitHub Enterprise Server et GitLab.com les actions GitLab autogérées.
Rubriques
Conditions préalables
Avant de commencer, vous devez exécuter les opérations suivantes :
-
Créez un GitHub référentiel avec votre GitHub compte.
-
Préparez vos GitHub informations d'identification. Lorsque vous utilisez le Console de gestion AWS pour établir une connexion, il vous est demandé de vous connecter avec vos GitHub informations d'identification.
Étape 1 : Création d'un fichier README
Après avoir créé votre GitHub référentiel, procédez comme suit pour ajouter un fichier README.
-
Connectez-vous à votre GitHub référentiel et choisissez votre référentiel.
-
Pour créer un nouveau fichier, choisissez Ajouter un fichier > Créer un nouveau fichier. Donnez un nom au fichier
README.mdet ajoutez le texte suivant.This is a GitHub 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 :
-
Stage source avec connexion à votre GitHub référentiel et à votre action.
-
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
MyGitHubPipeline. -
Dans Type de pipeline, choisissez V1 pour les besoins de ce didacticiel. Vous pouvez également choisir V2 ; toutefois, notez que les types de pipelines diffèrent en termes de caractéristiques et de prix. Pour de plus amples informations, veuillez consulter Types de canalisations.
-
Dans Service role (Rôle de service), choisissez New service role (Nouveau rôle de service).
Note
Si vous choisissez plutôt d'utiliser votre rôle de CodePipeline service existant, assurez-vous d'avoir ajouté l'autorisation
codestar-connections:UseConnectionIAM à votre politique de rôle de service. Pour obtenir des instructions relatives au rôle de CodePipeline service, voir Ajouter des autorisations au rôle CodePipeline de service. -
Sous Paramètres avancés, conservez les valeurs par défaut. Dans le magasin d'artefacts choisissez Default location (Emplacement par défaut) pour utiliser le magasin d'artefacts par défaut, tel que le compartiment d'artefacts Amazon S3 désigné par défaut, pour votre pipeline dans la région que vous avez sélectionnée pour ce dernier.
Note
Il ne s'agit pas du compartiment source de votre code source. Il s'agit du magasin d'artefacts pour votre pipeline. Un magasin d'artefacts distinct, tel qu'un compartiment S3, est nécessaire pour chaque pipeline.
Choisissez Suivant.
-
Sur la page Étape 3 : Ajouter une étape source, ajoutez une étape source :
-
Dans Source provider, choisissez GitHub (via GitHub App).
-
Sous Connexion, choisissez une connexion existante ou créez-en une nouvelle. Pour créer ou gérer une connexion pour votre action GitHub source, consultezGitHub connexions.
Installez une application pour toutes vos connexions à un fournisseur particulier. Si vous avez déjà installé le AWS Connector pour GitHub l'application, choisissez-le et ignorez cette étape.
Note
Si vous souhaitez créer un jeton d'accès utilisateur
, assurez-vous que vous avez déjà installé le AWS Connector pour l' GitHub application, puis laissez le champ d'installation de l'application vide. CodeConnections utilisera le jeton d'accès utilisateur pour la connexion. Pour plus d'informations, voir Accéder à votre fournisseur source dans CodeBuild. -
Dans Nom du référentiel, choisissez le nom de votre référentiel GitHub.
-
Dans Nom de la branche, choisissez la branche du référentiel que vous souhaitez utiliser.
-
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. Étape 3 : mettre à jour la politique CodeBuild de rôle de service pour utiliser les connexionsDans ce didacticiel, vous allez mettre à jour les autorisations pour votre rôle de service de CodeBuild projet afin d'utiliser cette option.
Choisissez Suivant.
-
-
À l'étape 4 : Ajouter une étape de construction, ajoutez une étape de construction :
-
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 et collez ce qui suit sous Commandes de création.
Note
Dans la
envsection de la spécification de construction, assurez-vous que l'assistant d'identification pour les commandes git est activé, comme indiqué dans cet exemple.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 archive --format=zip HEAD > application.zip #post_build: #commands: # - command # - command artifacts: files: - application.zip # - location #name: $(date +%Y-%m-%d) #discard-paths: yes #base-directory: location #cache: #paths: # - paths -
Choisissez Continuer vers CodePipeline. Cela revient à 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 utiliser les connexions
L'exécution initiale du pipeline échouera car le rôle de CodeBuild service doit être mis à jour avec des autorisations pour utiliser les connexions. Ajoutez l'autorisation codestar-connections:UseConnection IAM à votre politique de rôle de service. Pour obtenir des instructions sur la mise à jour de la politique dans la console IAM, consultezAjoutez CodeBuild GitClone des autorisations pour les connexions à Bitbucket GitHub, GitHub Enterprise Server ou GitLab.com.
Étape 4 : Afficher les commandes du référentiel dans la sortie de 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 archivent le référentiel sous forme de fichier ZIP.