Skip to content

Déploiement continu d'un projet Firebase (functions, web, …)

Je vous propose de créer ici la configuration qui vous permettra de déployer en continu sur Firebase.

Sommaire

Initialiser un projet Firebase (code source)

Client Firebase :

sh
npm install -g firebase-tools
firebase login

Créer un projet sur Firebase

Nouveau projet API « vide » :

sh
firebase init functions

Gratuit… Mais pas vraiment

Attention, même si vous n'allez a priori rien payer en restant dans le « free tier », Google a décidé de rendre obligatoire le passage en « pay as you go » pour la partie functions.

Autoriser le déploiement depuis Gitlab-CI

  • Sur votre machine : firebase login:ci
  • Dans les Settings, partie CI/CD de votre projet, ajoutez une variable FIREBASE_DEPLOY_KEY avec le token obtenu.

Le Gitlab-CI

Dans votre projet, ajoutez le fichier .gitlab-ci.yml avec le contenu suivant :

yaml
image: node:22

cache:
  paths:
    - node_modules/

deploy_production:
  stage: deploy
  environment: Production
  rules:
    - if: $CI_COMMIT_TAG
  script:
    - cd functions/
    - npm install -g firebase-tools
    - npm install
    - firebase deploy --token $FIREBASE_DEPLOY_KEY

test:
  stage: test
  script:
    - cd functions/
    - npm install
    - npm run test
×

Reformulation

La reformulation (IA) peut faire des erreurs. Envisagez de vérifier les informations.