Skip to main content
Version: 1.1.0

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.

  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/new-stage.json. Ce fichier doit contenir les informations suivantes :

    {
    "API_GATEWAY_ID": "votre-api-id",
    "API_GATEWAY_ROOT_ID": "votre-root-id"
    }
  4. aller dans api settings, et ajouter / dans Binary Media Types.

Étape 3 : Initialiser l'API

  1. Accédez au microservice init en utilisant les commandes suivantes dans votre terminal :
  • Bien faire attention de changer tous les .env si l'on passe du compte dev au compte prod !!

    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 !