Migrar Serverless Framework de v3 a v4: Gitlab CI/CD

Migrar Serverless Framework de v3 a v4: Gitlab CI/CD

Las nuevas versiones (>v4) de Serverless Framework tienen muchas funcionalidades interesantes que vale la pena probar.

Actualmente, tengo un laboratorio armando donde tengo distintas herramientas de infraestructura como código (IaC) preparadas para probar, por ejemplo, un cambio de versión.

En este pequeño post explico los cambios que he tenido que hacer para actualizar a versión 4 de Serverless Framework desde la versión 3

El repositorio:

El repositorio sobre el que he realizado los cambios, es parte de los laboratorios de pruebas de mimic que explique en este artículo anterior: Link

https://github.com/olcortesb/mimic-sls tiene el código original con la versión 3 y los últimos commits que agregue para actualizarlo

1. Instalar la última versión:

La última versión del paquete la instalamos como uno de los scripts previo en él .gitlab-ci.yml

# file .gitlab-ci.yml
# install build tools
before_script:
- apt-get update
- apt-get install -y build-essential
- npm install -g serverless

2. Actualizar el serverless.yml

Actualizar la versión en el serverless.yml :

# file serverless.yml

service: mimic-sls
frameworkVersion: '4'
...

3. Licencia / configuración

Uno de los cambios que agrego la versión 4 fue un cambio de licencia que se puede revisar aqui: Link

Para configurar la licencia, debemos

  1. Loguearnos en la página de Serverless Framework con una cuenta free

  2. Agregar un access key en la consola de Serverless Framework

  3. Configurar la variable de entorno SERVERLESS_ACCESS_KEY , con la clave obtenida en el paso anterior en el pipeline de Gitlab

  4. Ejecutar el pipeline / verificar la versión

Conclusiones

  • La migración a Serverless framework v4 es siempre desde la configuración del pipeline, solo agregando un paso que es la variable de entorno de la licencia

  • Tener en cuenta los cambios en el “serverless.yml” que se comentan en la documentación oficial: Link respecto a los Stages

  • Ejecutar del deploy localmente, también necesita o realizar el login en la web o agregar la variable de entorno.

Referencias