Déploiement continue d'un projet Firebase (function, web, …)
Je vous propose de créer ici la configuration qui vous permettra de déployer en continue sur Firebase
Initialiser un projet Firebase (code source)
Client Firebase :
npm install -g firebase-tools
firebase login
Créer un projet sur Firebase
Nouveau projet API « vide » :
firebase init functions
Gratuit … Mais pas vraiment
Attention même si vous n'allez pas payer pour utiliser le « free tier » Google à décidé de mettre en place l'obligation de passer en pay as you go pour la partie fonction.
Autoriser le déploiement depuis Gitlab-CI
- Sur votre machine :
firebase login:ci
- Dans les SETTINGS partie CI/CD de votre projet, ajouter une variable
FIREBASE_DEPLOY_KEY
avec le token obtenue
Le Gitlab-ci
Dans votre projet ajouter le fichier .gitlab-ci.yml
avec le contenu suivant :
image: node:15.5.1
cache:
paths:
- node_modules/
deploy_production:
stage: deploy
environment: Production
only:
- tags
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