Plantilla para crear la infraestructura usando aws cloudformation de una funcion lambda que es ejecutada usando un regla de expresión cron.
Encontrarás un archivo .env.infra.example
que hace referencia a las variables de entorno necesarias para los scripts
de IAC, el contenido es mostrado a continuación, debes copiarlo y pegarlo en un archivo .env.infra
y
establecer los valores que te interesen.
PROJECT_NAME="example-lambda"
CRON_EXECUTION_EXPRESSION="*/5 * * * ? *"
TIMEOUT=10
Cada vez que ejecutes alguno de los siguientes scripts estas variables serán leidas y usadas para su ejecución.
Por otro lado, las variables de entorno que necesite tu aplicacion deberan ser establecidas en un archivo llamado
.env.app
, cuando el comando sh scripts.sh deploy
se ejecute, estas variables seran cargadas en la función lambda, ademas puede
cargarlas en cualquier momento usando el comando sh scripts.sh upload-env
.
En el codigo puede encontrar un archivo scripts.sh
el cual contiene el codigo necesario para deployar la infraestructura y manipularla
sh scripts.sh setup-infra
Este comando ejecuta un comando del cli
de aws para crear el stack de cloudformation.
sh scripts.sh update-infra
En caso de que realice cambios en cloudformation.yaml
para que estos se vean reflejados en el stack de aws puede utilizar este comando.
sh scripts.sh delete-infra
sh scripts.sh deploy
Este comando realizará lo siguiente:
- Extraerá todas las dependencias del código para ser empaquetadas en un archivo llamado
package_<latest commit>.zip
- Agregará el codigo de
/app
en el paquete - Subirá este codigo empaquetado al lambda
- Publicará una nueva version del lambda
- Actualizará el alias prod para que apunte a la ultima versión
sh scripts.sh package <filename>
Crea un archivo comprimido del codigo y sus dependencias con el nombre pasado como ultimo argumento, exportandolo en la raiz del proyecto.