Integración de GitHub Actions con AWS para CI/CD Serverless
Clase 20 de 25 • Curso 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)
Cuando estés acá, debes bajar hasta que veas un botón llamado “Create access key”
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.
Después agregaremos una descripción opcional a nuestras Keys y crearemos nuestras keys haciendo click en “Create access key”
¡Listo, tenemos nuestras keys listas para ser usadas!
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”.
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
Agregaremos primero nuestro secreto AWS_ACCESS_KEY_ID
Después agregaremos nuestro secreto AWS_SECRET_ACCESS_KEY
Listo, ya deberías tener tus dos secretos listos para tu repositorio y puedes empezarlos a usar en tus workflows de GitHub Actions
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.