Haré acciones de GitHub CI/CD para automatizar despliegue en AWS EC2, acciones de GitHub, Docker y GitLab
Acerca de este Servicio
Tus releases salen a mano desde un portátil, y un empujón erróneo puede dejar sin producción. Configuro un pipeline de CI/CD con GitHub Actions para que una fusión a main construya, pruebe y envíe por sí sola, y nadie tenga que pedirle a una sola persona que empuje.
El problema es que los pasos de release viven en la cabeza de una persona. Los llevo a un flujo de trabajo que está junto a tu código.
Obtendrás:
- lint y pruebas en cada pull request
- la imagen de Docker se construye al fusionar, se sube a Amazon ECR con una etiqueta de versión clara
- main pasa a staging automáticamente (servicio ECS o EC2)
- producción espera un clic de aprobación manual
- revertir con un clic a la imagen anterior
- los secretos se mueven del código a Secrets de Actions o a Systems Manager
- acceso a AWS mediante un rol IAM de privilegios mínimos, sin claves de larga duración almacenadas en ningún sitio
- un README: cómo funciona y cómo añadir un servicio
Proceso: leo tu Dockerfile y tus scripts, construyo el flujo en una rama, hago una release real a staging mientras tú supervisas, y luego te lo entrego.
Necesito: acceso al repositorio, un rol IAM o usuario para ECR y ECS, tus comandos de prueba y lint, y quién aprueba las releases.
Envíame un mensaje antes de ordenar para confirmar tu stack y alcance.
Herramientas:
Docker
•
GitLab
•
GitHub
Marcos:
npm
Proveedor de la nube:
Amazon Web Services
•
microsoft azure
Lenguaje de programación:
Bash
•
JavaScript
•
PHP
•
Python
Experiencia:
Instalación
•
Desarrollo
•
Configuración
FAQ
Traducción automática
¿Qué acceso necesitas y es seguro?
Acceso al repositorio y un rol IAM limitado a ECR y ECS. El pipeline inicia sesión con ese rol, así no quedan claves largas en GitHub. Revocas ambos al terminar. Nunca necesito tu cuenta raíz ni los datos de tu app.
¿Escribes mis pruebas?
No. Conecto tus comandos existentes de lint y pruebas al pipeline. Si no tienes ninguno, el pipeline aún se construye y envía, y dejo un espacio claro para que las pruebas se integren más tarde. Escribir pruebas está fuera de este gig.
¿Construyes mi infraestructura de AWS?
No. Tu servicio ECS o servidor EC2, más staging y producción, ya deben existir. Conecto GitHub a ellos. Si la parte de AWS aún necesita construirse, escríbeme y te cotizo eso por separado de este gig.
¿Qué stacks y herramientas cubres?
Apps Node.js y Next.js que tengan un Dockerfile, desplegando a ECS o EC2 en AWS desde GitHub Actions. Jenkins, GitLab CI, Kubernetes y EKS quedan fuera de este gig. Escríbeme si tu stack difiere y te lo digo.
¿Cuánto tiempo se tarda?
Staging Auto Deploy toma 3 días, Safe Production Release toma 5, Full Team Handover toma 7. El reloj comienza cuando tengo acceso al repo y a AWS, así que envía ambos temprano. El acceso lento de tu lado mueve la fecha
¿Qué pasa si una release sale mal?
Rollback es un clic en GitHub. Vuelve a desplegar la etiqueta de la imagen anterior, así vuelves a la última release que funcionó en minutos. Lo ejecuto una vez durante la entrega para que veas que funciona en tu servicio antes de cerrar.
¿Quién puede aprobar producción?
Tú nombras a los usuarios de GitHub. Solo ellos pueden hacer clic en aprobar, así una fusión impredecible nunca llega a producción. Algunos planes de GitHub limitan esta función en repos privados, así que reviso tu plan antes de empezar.
¿Mi equipo puede lanzar sin mí después?
Sí. Cualquiera con derechos de merge envía a staging al fusionar. Tus aprobadores designados liberan producción con un solo clic. El README explica cómo funciona y cómo añadir un nuevo servicio al mismo pipeline más adelante.
¿Qué pasa si necesito cambios después del parto?
Las revisiones cubren correcciones a lo que construí, así que cualquier cosa que no funcione como se describe se corrige. Un nuevo servicio, un nuevo entorno o una nube distinta entra en un nuevo alcance. Añade el segundo servicio extra o escríbeme.
¿Por qué enviarte un mensaje antes de ordenar?
Para poder leer tu Dockerfile y confirmar si ECS o EC2 encajan antes de pagar. Así evitas pagar por un plan que no coincide con tu configuración, y te digo de antemano si tu código necesita un cambio primero, no después.

