Integración de GitHub Actions con AWS para CI/CD Serverless

Clase 20 de 25Curso de Serverless Framework en AWS

Este curso ha sido fundamentado en AWS, sin embargo, por facilidad de uso vamos a usar GitHub Actions para hacer un flujo de CI/CD por la facilidad con que se integra en GitHub y su rápido entendimiento, sin embargo, hay varias cosas que debes tener en cuenta.

GitHub y AWS son servicios de diferentes empresas, por lo tanto, debemos autenticarnos en GitHub Actions contra AWS para poder desplegar allí nuestra aplicación serverless, para lograr esto vamos a seguir los siguientes pasos:

Vas a ir a IAM (servicio de Amazon donde se administran los permisos y accesos)

serverless01_02.png

Cuando estés acá, debes bajar hasta que veas un botón llamado “Create access key” serverless01_03.png

Aquí podrás crear un par de keys, estas keys son ultra secretas, ya que con ellas puedes tener acceso programático a tus recursos de AWS, puedes crear, borrar o editar recursos accediendo a través de ellas a tu cuenta de AWS usando el CLI de AWS, Serverless Framework, Terraform o cualquier otra herramienta, son como las llaves de tu casa y por eso debes darle un tratamiento especial.

Por esta misma razón AWS nos dará un grupo de opciones alternativas que podrían servir nuestra necesidad, para este caso vamos a seleccionar “Other” y continuaremos. serverless01_04.png

Después agregaremos una descripción opcional a nuestras Keys y crearemos nuestras keys haciendo click en “Create access key” serverless01_05.png

¡Listo, tenemos nuestras keys listas para ser usadas! serverless01_06.png

Nota: Estas keys son super secretas, por ningún motivo subas esto a un repositorio público e intenta no subirlas a un repositorio privado, con estas credenciales se podría hacer cualquier cosa con tu cuenta de AWS lo cual en manos equivocadas podría incurrir en costos exagerados en tu tarjeta de crédito. A pesar de que los permisos de estas keys se limitan a los permisos de su dueño, te recomendamos tener especial cuidado con ellas y que las borres cuando termines el curso.

Ya con tus keys en mano vas a ir a tu repositorio de GitHub donde quieres correr los workflows de GitHub Actions y entraras a Settings, bajas hasta la sección Actions → General, allí habilitaras el uso de Actions para este repositorio haciendo click en “Allow all actions and reusable workflows”. serverless01_07.png

Después iras a la sección Secrets and variables → Actions, acá podrás agregar secretos para tu repositorio u organización, continuas entonces en New repository secret serverless01_08.png

Agregaremos primero nuestro secreto AWS_ACCESS_KEY_ID serverless01_09.png

Después agregaremos nuestro secreto AWS_SECRET_ACCESS_KEY serverless01_10.png

Listo, ya deberías tener tus dos secretos listos para tu repositorio y puedes empezarlos a usar en tus workflows de GitHub Actions serverless01_11.png

Te recomendamos que vayas al Curso de GitHub Actions.

O si quedaste con dudas vayas al curso de AWS para entender más sobre AWS IAM: Curso Práctico de AWS: Roles y Seguridad con IAM.