Intégrer un référentiel Bitbucket à AWS Amplify à l'aide d'AWS CloudFormation - Recommandations AWS

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.

Intégrer un référentiel Bitbucket à AWS Amplify à l'aide d'AWS CloudFormation

Créée par Alwin Abraham (AWS)

Environnement : Production

Technologies : DevOps

Services AWS : AWS Amplify ; AWS CloudFormation

Récapitulatif

AWS Amplify vous aide à déployer et à tester rapidement des sites Web statiques sans avoir à configurer l'infrastructure généralement requise. Vous pouvez déployer l'approche de ce modèle si votre entreprise souhaite utiliser Bitbucket pour le contrôle de source, que ce soit pour migrer le code d'application existant ou créer une nouvelle application. En utilisant AWS CloudFormation pour configurer automatiquement Amplify, vous offrez une visibilité sur les configurations que vous utilisez.

Ce modèle décrit comment créer un pipeline et un environnement de déploiement continus (CI/CD) frontaux en utilisant AWS CloudFormation pour intégrer un référentiel Bitbucket à AWS Amplify. L'approche du modèle signifie que vous pouvez créer un pipeline frontal Amplify pour des déploiements répétables.

Conditions préalables et limitations

Prérequis

  • Un compte Amazon Web Services (AWS) actif

  • Un compte Bitbucket actif avec accès administrateur

  • Accès à un terminal utilisant cURL ou l'application Postman

  • Connaissance d'Amplify

  • Connaissance d'AWS CloudFormation

  • Connaissance des fichiers au format YAML

Architecture

Diagram showing user interaction with Bitbucket repository connected to AWS Amplify in AWS Cloud region.

Pile technologique

  • Amplify

  • AWS CloudFormation

  • Bitbucket

Outils

  • AWS Amplify — Amplify aide les développeurs à développer et à déployer des applications mobiles et Web basées sur le cloud.

  • AWS CloudFormation — AWS CloudFormation est un service qui vous aide à modéliser et à configurer vos ressources AWS afin que vous puissiez passer moins de temps à gérer ces ressources et plus de temps à vous concentrer sur vos applications exécutées dans AWS.

  • Bitbucket — Bitbucket est une solution de gestion de référentiels Git conçue pour les équipes professionnelles. Il vous offre un emplacement central pour gérer les référentiels Git, collaborer sur votre code source et vous guider tout au long du processus de développement.

Code

Le bitbucket-amplify.yml fichier (joint) contient le CloudFormation modèle AWS pour ce modèle.

Épopées

TâcheDescriptionCompétences requises
(Facultatif) Créez un dépôt Bitbucket.
  1. Connectez-vous à votre compte Bitbucket et créez un nouveau dépôt. Pour plus d'informations à ce sujet, consultez la section Création d'un dépôt Git dans la documentation de Bitbucket. 

  2. Enregistrez le nom de l'espace de travail.

Remarque : vous pouvez également utiliser un dépôt Bitbucket existant.

DevOps ingénieur
Ouvrez les paramètres de l'espace de travail.
  1. Ouvrez l'espace de travail et choisissez l'onglet Référentiel.

  2. Choisissez le référentiel que vous souhaitez intégrer à Amplify.

  3. Choisissez le nom de l'espace de travail situé au-dessus du nom du référentiel.

  4. Dans la barre latérale, choisissez Réglages.

DevOps ingénieur
Créez un consommateur OAuth.
  1. Dans la section Applications et fonctionnalités, sélectionnez Consommateurs OAuth, puis sélectionnez Ajouter un consommateur.

  2. Entrez le nom de votre consommateur, par exemple,Amplify Integration.

  3. Entrez une URL de rappel. Bien que ce champ soit une entrée obligatoire, il n'est pas utilisé pour terminer l'intégration. La valeur peut donc être http://localhost:3000

  4. Cochez la case Ceci est un consommateur privé.

  5. Choisissez les autorisations suivantes :

    • Projet Read

    • Référentiels — Admin

    • Pull requests Read

    • Webhooks — et Read Write

  6. Conservez les choix par défaut pour tous les autres champs et choisissez Soumettre.

  7. Enregistrez la clé et le secret générés.

DevOps ingénieur
Obtenez un jeton d'accès OAuth.
  1. Ouvrez une fenêtre de terminal et exécutez la commande suivante : 

curl -X POST -u "KEY:SECRET" https://bitbucket.org/site/oauth2/access_token -d grant_type=client_credentials 

Important : remplacez KEY et SECRET par la clé et le code secret que vous avez enregistrés précédemment. 

2. Enregistrez le jeton d'accès sans utiliser les guillemets. Le jeton n'est valide que pour une durée limitée et la durée par défaut est de deux heures. Vous devez exécuter le CloudFormation modèle AWS dans ce délai.

DevOps ingénieur
TâcheDescriptionCompétences requises
Téléchargez le CloudFormation modèle AWS.

Téléchargez le CloudFormation modèle bitbucket-amplify.yml AWS (ci-joint). Ce modèle crée le pipeline CI/CD dans Amplify, en plus du projet et de la branche Amplify.

Créez et déployez la CloudFormation pile AWS.
  1. Connectez-vous à la console de gestion AWS de la région AWS dans laquelle vous souhaitez déployer et ouvrez la CloudFormation console AWS. 

  2. Choisissez Create Stack (avec de nouvelles ressources), puis choisissez Upload a Template File

  3. Chargez le fichier bitbucket-amplify.yml.

  4. Choisissez Next, entrez un nom de pile, puis entrez les paramètres suivants :

    • Jeton d'accès : collez le jeton d'accès OAuth que vous avez créé précédemment.

    • URL du dépôt : ajoutez l'URL du dépôt du projet Bitbucket. L'URL est généralement au format suivant : https://bitbucket.org/<WORKSPACE_NAME>/<REPO_NAME>

    • Nom de branche : il doit correspondre au nom d'une branche de votre dépôt Bitbucket. Cette branche n'a pas besoin d'exister lorsque vous exécutez la CloudFormation pile AWS, mais elle est nécessaire pour déployer du code dans l'environnement.

    • Nom du projet : il s'agit du nom à associer au projet Amplify.

5. Choisissez Next, puis Create Stack.

DevOps ingénieur
TâcheDescriptionCompétences requises
Déployez le code dans la branche de votre référentiel.
  1. Clonez votre dépôt Bitbucket en exécutant la commande suivante : git clone https://bitbucket.org/<WORKSPACE_NAME>/<REPO_NAME>

  2. Vérifiez le nom de branche utilisé lors de l'exécution du CloudFormation script AWS. Pour créer et extraire une nouvelle branche, exécutez la git checkout -b <BRANCH_NAME> commande. Pour récupérer une branche existante, exécutez la git checkout <BRANCH_NAME> commande

  3. Validez le code dans la branche et envoyez-le vers la branche distante en exécutant les git push commandes git commit and.

  4. Amplify construit et déploie ensuite l'application.

Pour plus d'informations à ce sujet, consultez les commandes Git de base dans la documentation de Bitbucket. 

Développeur d'applications

Ressources connexes

Méthodes d'authentification (documentation Atlassian)

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip