Skip to content
/NoteForge
Sign in Sign up
Viewing an old version (4 days, 7 hours ago). The current page may differ.

# ACTION_PLAN.md


\> \[\!IMPORTANT\] \> \*\*ESTADO ACTUAL DE AUDITORÍA:\*\* De acuerdo con las reglas obligatorias de esta auditoría forense\, \*\*NO se ha realizado ningún cambio en los archivos de la rama \`fix/pipeline\-build\-error\`\*\*\. Las propuestas que se listan a continuación están pendientes de aprobación explícita\.
\-\-\-
\#\# 1\. Corrección Inmediata \(Menor Riesgo\)
\#\#\# Modificación A: Sincronizar y Parametrizar la Versión de Node\.js \* \*\*Acción:\*\* Reemplazar el valor hardcodeado \`24.4.1\` en la tarea \`NodeTool@0\` por la variable dinámica declarada en el grupo de variables centralizado. \* \*\*Archivos a modificar:\*\* \[npm\-install\-dependencies\.yml\]\(file:///c:/Users/jgrullon/Documents/DevOps/pipelines\-devops/movil\-apap/tasks/npm\-install\-dependencies\.yml\) \* \*\*Cambio propuesto:\*\*   \`\`\`diff   -  - task: NodeTool@0   -    displayName: "Instalar Node.js"   -    inputs:   -      versionSpec: "24.4.1"   +  - task: NodeTool@0   +    displayName: "Instalar Node.js"   +    inputs:   +      versionSpec: "$(nodeVersion)"   \`\`\`
\#\#\# Modificación B: Declaración de Pool de Agentes para Jobs de PR \* \*\*Acción:\*\* Asegurar que los Jobs que ejecutan scripts de Bash de Unix (\`gitleaks-job.yml\`, \`wiz-dir-scan-job.yml\` y \`build-job.yml\`) se ejecuten en agentes Linux (\`ubuntu-latest\`) para evitar fallos de shell no reconocido en entornos Windows. \* \*\*Archivos a modificar:\*\*   \* \[gitleaks\-job\.yml\]\(file:///c:/Users/jgrullon/Documents/DevOps/pipelines\-devops/movil\-apap/jobs/gitleaks\-job\.yml\)   \* \[build\-job\.yml\]\(file:///c:/Users/jgrullon/Documents/DevOps/pipelines\-devops/movil\-apap/jobs/build\-job\.yml\)   \* \[wiz\-dir\-scan\-job\.yml\]\(file:///c:/Users/jgrullon/Documents/DevOps/pipelines\-devops/movil\-apap/jobs/wiz\-dir\-scan\-job\.yml\) \* \*\*Cambio propuesto (ejemplo en \`gitleaks-job.yml\`):\*\*   \`\`\`diff    jobs:      - job: GitLeaks        displayName: "Escaneo de GitLeaks"   +    pool:   +      vmImage: "ubuntu-latest"        steps:          - template: ../tasks/gitleaks.yml   \`\`\`
\-\-\-
\#\# 2\. Corrección Recomendada \(Mejor Solución a Largo Plazo\)
\#\#\# Tareas Nativas del Marketplace \* Evitar la descarga manual de binarios mediante \`wget\` y scripts \`Bash@3\`. En su lugar, integrar las tareas oficiales de la extensión de Azure DevOps para \*\*GitLeaks\*\* y \*\*Wiz Security Scan\*\*. Esto reduce el mantenimiento de scripts personalizados y automatiza las actualizaciones de los motores de escaneo de forma segura.
\#\#\# Control de Entorno Java y Android \* Añadir un paso explícito para instalar y configurar la versión adecuada de Java (JDK 17 recomendado para Capacitor 5/6) en \`tasks/build.yml\` antes de ejecutar la compilación de Android para evitar fallos de Gradle. \* \*\*Cambio propuesto en \`tasks/build.yml\`:\*\*   \`\`\`yaml   - task: JavaToolInstaller@0     displayName: "Instalar Java JDK 17"     inputs:       versionSpec: '17'       jdkSourceOption: 'PreInstalled'       jdkArchitectureOption: 'x64'       cleanDestinationDirectory: false   \`\`\`
\-\-\-
\#\# 3\. Tabla de Alternativas
\| Alternativa \| Esfuerzo \| Riesgo \| Impacto \| Ventajas \| Desventajas \| \| :\-\-\- \| :\-\-\- \| :\-\-\- \| :\-\-\- \| :\-\-\- \| :\-\-\- \| \| \*\*Opción A \(Recomendada\):\*\* Sincronizar Node a \`$\(nodeVersion\)\` y forzar agentes Linux \(\`ubuntu\-latest\`\) en los jobs\. \| \*\*Bajo\*\* \| \*\*Muy Bajo\*\* \| \*\*Alto\*\* \| Rápida implementación\, alinea el pipeline con la especificación de variables y soluciona el error inmediato de Bash en agentes Windows\. \| Requiere que las variables de \`vars\.yml\` estén perfectamente mantenidas\. \| \| \*\*Opción B \(Contenerización\):\*\* Ejecutar los jobs de compilación dentro de una imagen de contenedor Docker pre\-configurada\. \| \*\*Medio\*\* \| \*\*Bajo\*\* \| \*\*Muy Alto\*\* \| Inmutabilidad total\. La imagen contiene la versión exacta de Node\, Java\, Gradle y el Android SDK\. \| Incrementa el costo de mantenimiento de las imágenes Docker del equipo DevOps\. \| \| \*\*Opción C \(Scripts Multiplataforma\):\*\* Reescribir las tareas de Gitleaks y Wiz en PowerShell Core \(\`pwsh: true\`\) para soporte multiplataforma \(Windows/Linux\)\. \| \*\*Alto\*\* \| \*\*Medio\*\* \| \*\*Medio\*\* \| Permite ejecutar las tareas de seguridad en cualquier pool de agentes asignado \(independientemente del OS\)\. \| Complejidad de mantenimiento alta al escribir lógica para descargar\, extraer e instalar binarios en Windows y Linux\. \|
\-\-\-
\#\# 4\. Estrategia de Rollback Si tras aplicar el plan de acción (Opción A o B) se presentan errores inesperados de compilación: 1\. Realizar un revert de los commits aplicados en la rama \`fix/pipeline\-build\-error\`\. 2\. Ejecutar un hard reset local a la última versión funcional conocida \(\`git reset \-\-hard 14567e18bb0e38fabb3ea8284c4574dec115022f\`\) y empujar con fuerza a la rama remota para restaurar el estado anterior\.