Deploy AWS lambda functions using CI/CD github actions
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
Tiempo atrás desarrollé una serie de micro servicios comunes que nuestro equipo usaba constantemente, el motivo de desarrollarlos fue unificar y acelerar el desarrollo de ciertas funcionalidades, ya que en cada proyecto, cada equipo y cada desarrollador implementaban de diferente forma estos servicios, por ejemplo:
- Authentication & Authorization with local db, cognito, auth0, etc
- Password reset
- Send email with AWS SES or other vendors
- Create short links
- Store email events
- Send SMS with AWS SNS or Regional Telcos
- Generate PDF
- Upload & Download files from AWS S3
- DNS Validation
- SSL Certs generation
- And other stuff
Pero eso no es un problema, si se resolvió un problema común de muchos equipos multiproyectos.
Inicialmente no es un problema, pero sí, lo hay: Mantenimiento!, todo los servicios que escribí los hice directamente en AWS Lambda, nadie más del equipo sabía donde estaban, y cada vez que se necesitaba hacer un cambio o validar alguno de los servicios necesitaban de mi participación.
Esto en ocaciones por mis actividades normales retrasaba ciertas tareas o finalmente el equipo optaba por crear sus propios servicios inutilizando el concepto de homologación que estaba tratando de implementar.
Básicamente por esta razón decidimos descargar todos estos micro servicios en repositorios git independientes y otorgar accesos granulares a los miembros del equipo para que puedan seguir aportando sobre los servicios o crear nuevos, ya que la mayoría de los miembros del equipo no tienen acceso directo a AWS y para agilizar el deploy de las actualizaciones y nuevos servicios creé este pequeño tutorial de como hacer autodeploy de funciones lambda usando github actions.
NO HE TENIDO TIEMPO DE TERMINAR LA DOCU
To get a local copy up and running follow these simple steps.
This is an example of how to list things you need to use the software and how to install them.
- Create github secrets
AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY
- Clone the repo
git clone https://github.com/diegofcornejo/lambda-github-actions.git
- Install NPM packages
npm install
Use this space to show useful examples of how a project can be used. Additional screenshots, code examples and demos work well in this space. You may also link to more resources.
For more examples, please refer to the Documentation
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Diego Cornejo - @diegofcornejo - diegof.cornejo@gmail.com
Project Link: https://github.com/diegofcornejo/lambda-github-actions