Gitlab Serverless: la forma más sencilla

gitlab

AWS Docker Gitlab Serverless: la forma más sencilla

Con este artículo, queremos mostrarle cómo es posible implementar funciones de Lambda de una manera sencilla mediante canalizaciones de integración de Gitlab y el marco Serverless en AWS.

Este es el primero de una serie de artículos, desde Lambda y API Gateway hasta todos los demás recursos diferentes de AWS que también se pueden implementar junto con el código fuente de su proyecto.

La infraestructura y el código ya no son dos mundos diferentes.

Suponemos que usted es un desarrollador, no se explicarán los conocimientos básicos. Intentamos ser concisos y rápidos.


Qué necesitas para seguirnos:

  • Docker instalado localmente. (Aquí)
  • Repositorio Git local instalado. (Git)
  • IntelliJ IDEA o similar. (Aquí)
  • Cuenta de AWS o simplemente use el nivel gratuito. (Cuenta AWS gratuita)

En el repositorio a continuación, todo el trabajo ya está hecho, siéntase libre de clonarlo. Solo explicaremos los pasos aquí.

https://github.com/aws-gitlab-lambda


Explicación paso a paso:

Creación de usuarios de AWS y configuración de permisos de implementación. Personalmente, no creo que debamos usar el marco sin servidor para administrar las políticas de AWS IAM, este es un trabajo de una sola vez, prefiero hacerlo manualmente.

gitlab

Junto con la creación del usuario, debe establecer los permisos para el usuario creado, usé estos, no los necesita todos.

 

gitlab

Al final del proceso de creación, AWS le proporcionará el usuario AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY. Guarde estos 2 valores, los necesitará para implementar la aplicación.

  • Configuración de variables de entorno de GitLab (Secretos).

gitlab

En Configuración, CI/CD, Variables, puede configurar los secretos que su canalización incluirá en el proceso de implementación, esto le dará acceso para implementar la función en AWS utilizando el usuario que creamos en el paso anterior.

  • Implementación de GitLab, pruebas de canalización y páginas.

Si está aquí, deberíamos poder implementar nuestra función, para hacerlo necesitamos crear un proyecto de GitLab y enviar nuestro repositorio a él. Esto debería activar automáticamente 4 canalizaciones como la imagen a continuación.

gitlab

Construir canalización

Queremos construir una imagen e insertarla en el registro, esta imagen se usará para la prueba y la implementación de la canalización. No implementamos la imagen, tenga en cuenta que solo implementamos la función y los recursos necesarios de AWS, la imagen es solo para construir el contenedor al que tiene acceso para realizar el trabajo.

Prueba

Este trabajo ejecutará pruebas unitarias y de integración a nuestra función, para ello utilizamos la imagen construida previamente.

Implementar_función

Si todas las pruebas funcionan bien, implementaremos la función Lambda y los recursos necesarios en AWS. Cuando finalice este paso, debería poder verlo en AWS bajo la formación de la nube: nueva implementación. Imagen a continuación.

gitlab

También debería poder ver el HttpApiUrl donde se implementó su función, debería aparecer en su trabajo de implementación de GitLab y también en los detalles de implementación en la consola de formación de la nube de AWS. Lambda también debería estar visible en la sección Lambda AWS.

Como no quiero hacer este tutorial demasiado extenso, creo que es una buena idea terminar aquí, echar un vistazo al proyecto e intentar entender cómo se construyó todo esto. Si no entiende, déjeme sus comentarios y agendamos una reunión.

Recent Post