git push production main, y tres minutos más tarde el sitio muestra un error 500 porque se olvidó una migración de SQL. El equipo sabía que debían “tener cuidado”. El ritual no estuvo mal para un blog personal; Era para una tienda que cobra.
Git push implementar: el repositorio remoto en el servidor ejecuta un enlace que extrae el código y recarga PHP-FPM. CI/CD: cada envío pasa por un proceso que construye, prueba, crea artefactos y luego implementa (o rechaza). La cuestión no es qué tecnología está de moda; Esto es cuánto costo de error acepta su organización sin una red.
Dos rituales, dos niveles de red
| Tamaño | Git push → servidor | CI/CD (Acciones, GitLab, etc.) |
|---|---|---|
| Pruebas antes de la producción | Manual (a menudo omitido) | Automatizado, bloqueo |
| Reproducibilidad | “Funciona en mi máquina” | Artefacto idéntico por confirmación |
| Revertir | Git revert + reimplementación manual | Etiquetar/liberar + volver a implementar canalización |
| Auditoría | Registros SSH | Historial de canalización + aprobaciones |
| Secretos | Riesgo clave en el servidor | Vault CI, nube OIDC |
| Tiempo de configuración | Horas | Días y luego minutos/despliegue |
La sencillez del empuje directo se paga con incidentes que nadie cuantificaba antes del primer viernes por la noche.
Cuando el empuje directo todavía retiene agua
Proyecto en solitario, baja criticidad. Blog estático, cartera: compilación local, rsync o push hook, copia de seguridad antes de la implementación.
Entorno de puesta en escena idéntico. Primero, empuje a la puesta en escena, validación humana, luego avance rápido en la producción: estricta disciplina manual.
Equipo colocado, implementaciones poco comunes. Actualización trimestral, ventana de mantenimiento anunciada.
Condiciones no negociables incluso en “simples”:
- Rama "principal" protegida
- Etiquetar o confirmar hash anotado en caso de reversión
- Migraciones de bases de datos versionadas y probadas contra copias.
Cuando CI/CD se convierte en el estándar mínimo
Comercio electrónico, SaaS, datos sensibles. Pruebas unitarias + integración + prueba de humo post-implementación.
Equipo > 2 desarrolladores. Revisión de código (PR) + canalización ecológica antes de la fusión.
Cumplimiento. Trazabilidad de quién implementó qué y cuándo: ISO, SOC2, clientes empresariales.
Multiambientes. desarrollo → puesta en escena → producción con promociones controladas.
Tubería mínima realista:
- Pruebas de Lint + en relaciones públicas
- Construir artefacto (contenedor o tarball)
- Implementar preparación automática
- Implemente la producción de forma manual o automática después de la etiqueta.
Los hosts como Clever Cloud o PaaS Platforms a menudo integran la implementación nativa de Git con compilación remota; esto no es simplemente presionar a /var/www.
Errores comunes de ambos bandos
Push directo: implementación el viernes a las 6 p.m., migraciones no reversibles, permisos 777 “temporales”.
CI/CD: canalización larga no optimizada, debilidad ignorada, secretos en variables de texto sin formato, implementación de producción sin preparación.
La cima: el gancho post-recepción no es una estrategia
Decide y avanza sin puntos ciegos
- Estimación costo por hora de una interrupción de producción (CA, SLA, reputación).
- Si > bajo: canalización mínima dentro de una semana (GitHub Actions + implementación SSH o webhook PaaS).
- Mantener el envío directo solo para sobres desechables con respaldo.
- Reversión de documentos en menos de 15 minutos: probado.
Compare hosts con implementación de Git integrada en directorio. Consulte también Docker Compose o Kubernetes para conocer la suite de arquitectura.
Preguntas frecuentes
¿Es aceptable la inserción directa de Git en producción?
A veces para exhibición en solitario. Siempre que un error resulta costoso, la falta de pruebas automatizadas es un riesgo inaceptable.
¿CI/CD no ralentiza a los equipos pequeños?
Proceso mínimo: 2 a 5 minutos, a menudo menos que una reversión manual después de un error de producción.
¿Dónde almacenar los secretos de implementación?
Variables de CI cifradas, bóveda y claves de solo implementación, nunca en el repositorio ni en la raíz SSH generalizada.
¿Podemos combinar los dos?
Sí: presionar activa el CI que se despliega si está verde. Evite empujar desnudo para pinchar sin puerta.
Antes del próximo despliegue, una pregunta: si este compromiso rompe el impulso, ¿cuántos minutos faltan para retroceder y quién sabe cómo hacerlo? Si la respuesta es vaga, el ritual aún no está en el nivel de riesgo.
