Skip to main content
Version: Next

How to Add a Stage

Ce guide vous expliquera les étapes nécessaires pour ajouter un nouveau stage à votre projet. Suivez les étapes ci-dessous dans l'ordre pour assurer un déploiement réussi.

Étape 1 : Créer une nouvelle branche sur GitHub

  1. Ouvrez votre terminal et naviguez jusqu'au répertoire de votre projet.

  2. Créez une nouvelle branche avec la commande suivante :

    git checkout -b new-stage
  3. Poussez cette nouvelle branche vers votre dépôt distant avec les options pour définir le upstream :

    git push --set-upstream origin new-stage

Étape 2 : Créer une nouvelle REST API dans API Gateway

  1. Allez dans AWS API Gateway et créez une nouvelle API REST. (avec la nomeclature KARE-<stage>, ex: Kare-main)
  2. Copiez l'ID de l'API ainsi que l'ID de la racine de l'API nouvellement créée.
  3. Collez ces ID dans le fichier ./app/deploy/env/.env.main. Ce fichier doit contenir les informations suivantes :
   API_GATEWAY_ID="votre-api-id",
API_GATEWAY_ROOT_ID="votre-root-id"
  1. aller dans api settings, et ajouter / dans Binary Media Types.

Étape 2 : Créer une nouvelle REST API dans API Gateway pour le QRCODE

  1. Faire la même chose que pour l'étape 2, mais pour le qrcode. (avec la nomeclature KARE-QR-<stage>, ex: Kare-QR-main)

Étape 3 : Initialiser l'API

  1. Accédez au microservice init en utilisant les commandes suivantes dans votre terminal :
cd ./app/src/micro-services/init
  1. Exécutez les scripts de build et de déploiement pour initialiser l'API :

    ./build.sh <stage>
    ./deploy.sh <stage>

Étape 4 : Récupérer les IDs des Authorizers

  1. Une fois que l'API est initialisée, récupérez les IDs des Authorizers que vous avez configurés.

  2. Ajoutez ces IDs dans le fichier ./app/deploy/env/new-stage.json à la suite des précédents :

    {
    "RS_AUTHORIZER_ID": "votre-authorizer-id",
    "BO_AUTHORIZER_ID": "votre-authorizer-id"
    }
  • Bien faire attention que tout à bien été créer ! (tables dynamo, authorizers, bucket S3, etc...)

Étape 5 : Déployer les services avec Docker Compose

  1. Assurez-vous que le stage est bien défini dans l'environnement lors du déploiement. Pour ce faire, utilisez la commande suivante :

    STAGE=new-stage docker compose up auth-rs
  2. Note : À l'avenir, il pourrait être utile d'automatiser la récupération de la branche avec un petit script pour simplifier ce processus.

Étape 6 : faire la migration deploy

  1. Allez dans n'importe quel dossier avec usefull-scripts.

  2. Exécutez la commande suivante pour faire la migration :

    ./migrate-deploy.sh new-stage

BIS : Ajouter un websocket

  1. Allez dans AWS API Gateway et créez une nouvelle API WebSocket.

  2. Dans Route selection expression, ajoutez $request.body.action.

  3. Ne pas ajouter de route prédéfini et faire next.

  4. Copiez l'ID de l'API WS.

  5. Collez l'ID dans le fichier ./app/deploy/env/new-stage.json. Ce fichier doit contenir l'information suivante :

    {
    "API_GATEWAY_ID_WS": "votre-api-id"
    }

Félicitations, vous avez maintenant ajouté un nouveau stage à votre projet !