Despliegue en Firebase desde Gitlab CI


gitlab

Con la integración continua y despliegue continuo, en nuestro día a día nos facilita mucho las cosas, como verificar las pruebas (unitarias, de integración, etc), desplegar una app en producción o desarrollo.

Para lo cual explicaré como automatizar el despliegue de una aplicación hecha con React a un hosting de Firebase.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
stages:
  - build
  - deploy

image: node:13.10.1-stretch

cache:
  paths:
    - node_modules/

build:
  stage: build
  script:
    - yarn
    - yarn build

deploy_dev:
  before_script:
    - npm i -g firebase-tools
  stage: deploy
  environment: Development
  script:
    - firebase use $FIREBASE_DEPLOY_NAME_DEV --token $FIREBASE_DEPLOY_KEY
    - firebase deploy --only hosting:$FIREBASE_DEPLOY_NAME_DEV -m "Pipe $CI_PIPELINE_ID Build $CI_BUILD_ID" --token $FIREBASE_DEPLOY_KEY

Para ver el proyecto completo aquí.

Primero depende del stage deploy y el entorno de producción, pueden configurarlo también para desarrollo.

En este caso ejecuto primero el build para tener en caché la carpeta build y los node_modules (para que pueda ser usado en otros jobs, la carpeta build generada por yarn build pueda ser usado en deploy_dev).

Antes de explicar el stage de deploy, primero deben obtener su token de ingreso.

npm i -g firebase-tools

Instalamos de manera global las tools de Firebase para poder iniciar sesión.

firebase login:ci

Inician sesión.

Permiten el acceso.


Luego en la terminal o linea de comandos verán su token.


En mi caso mi token es 1//05*******.



En configuraciones de CI/CD creamos nuestras variables (pueden usar los nombres que quieran).

  • $FIREBASE_DEPLOY_KEY y como valor nuestro token
  • $FIREBASE_DEPLOY_NAME_DEV  como valor el nombre de nuestro proyecto en firebase


Agregamos los cambios y vemos el resultado del job deploy.


Con ésto automatizamos el despliegue en un hosting de firebase desde Gitlab.

FUENTE:

Comentarios

Popular Posts

Sistemas Distribuidos - Tolerancia a fallos

Crear Autómata Finito Determinista desde una Expresión Regular

Instalar OpenGL en Linux