Añadir Registro de decisiones
58
Registro-de-decisiones.md
Normal file
58
Registro-de-decisiones.md
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
Registro de decisiones y cambios (taller)
|
||||||
|
|
||||||
|
Separar CI y CD en dos Jenkinsfiles
|
||||||
|
- Decisión: usar `Jenkinsfile.ci` y `Jenkinsfile.cd` en lugar de uno único.
|
||||||
|
- Motivo: separar responsabilidades (validación vs despliegue) y simplificar operación.
|
||||||
|
- Referencias:
|
||||||
|
- Issue #7
|
||||||
|
- PR #8
|
||||||
|
|
||||||
|
Parametrización: pasar de puertos/health URLs a “base urls”
|
||||||
|
- Decisión: eliminar variables tipo `BACKEND_PORT`, `*_HEALTH_URL` y parametrizar:
|
||||||
|
- `VITE_API_BASE`
|
||||||
|
- `JENKINS_BASE_URL`
|
||||||
|
- `JENKINS_JOB_NAME`
|
||||||
|
- Motivo: compatibilizar local/VPS con menos fricción y sin duplicar config.
|
||||||
|
- Referencias:
|
||||||
|
- Issue #5
|
||||||
|
- Issue #13
|
||||||
|
|
||||||
|
Compatibilizar VPS/local (context path + proxy)
|
||||||
|
- Decisión: mantener `/taller/` como base y proxy de `/taller/api/` hacia backend.
|
||||||
|
- Motivo: misma URL base en local y prod; despliegue más predecible.
|
||||||
|
- Referencias:
|
||||||
|
- Issue #13
|
||||||
|
- `frontend/vite.config.js`, `frontend/nginx.conf`
|
||||||
|
|
||||||
|
Mostrar datos de Jenkins en la web (historial builds)
|
||||||
|
- Decisión: exponer endpoint `/builds` en backend y mostrar historial (ultimas 5 builds).
|
||||||
|
- Motivo: es una curiosidad más que nada. Puede ser útil para montar un dashboard con el estado de las builds.
|
||||||
|
- Referencias:
|
||||||
|
- Issue #2
|
||||||
|
- Commit https://openbokeron.uma.es/gitea/OpenBokeron/TallerCiCd/commit/790f167907cb01954d449bde9ecb8f7fcd9b5bf0
|
||||||
|
|
||||||
|
Manejo de errores al consultar Jenkins API
|
||||||
|
- Decisión: evitar propagar excepciones y devolver error coherente (`503` + payload estable).
|
||||||
|
- Motivo: el backend petaba :/.
|
||||||
|
- Referencias:
|
||||||
|
- Issue #16
|
||||||
|
|
||||||
|
Seguridad Jenkins (roles + CSRF/XSS + evitar RCE por Jenkinsfile)
|
||||||
|
- Decision: hardening Jenkins + forzar Jenkinsfile desde `main` con Remote Jenkinsfile Provider.
|
||||||
|
- Motivo: minimizar privilegios y mitigar ejecución de código arbitrario desde PRs.
|
||||||
|
- Referencias:
|
||||||
|
- Issue #12
|
||||||
|
- PR #21
|
||||||
|
|
||||||
|
Compose: eliminar atributo `version`
|
||||||
|
- Decisión: quitar `version:` del compose.
|
||||||
|
- Motivo: se quejaba docker.
|
||||||
|
- Referencias:
|
||||||
|
- Issue #9
|
||||||
|
- PR #10
|
||||||
|
|
||||||
|
Webhooks
|
||||||
|
- Decision: webhook de deploy en `main` configurado.
|
||||||
|
- Motivo: automatizar despliegue en main.
|
||||||
|
- Referencias:
|
||||||
|
- Issue #15
|
||||||
Reference in New Issue
Block a user