Ejecutar primer build - Eziuz/Proyecto-POLI-Generador-de-Claves GitHub Wiki
🚀 Ejecutar el Primer Build
Esta guía te mostrará cómo ejecutar tu primer build en el pipeline de Jenkins para el proyecto POLI-Generador-de-Claves y verificar que todo funcione correctamente.
📋 Prerrequisitos
Antes de ejecutar el primer build, asegúrate de tener:
- ✅ Jenkins instalado y configurado
- ✅ Pipeline creado según las instrucciones anteriores
- ✅ Credenciales de Docker Hub configuradas
- ✅ Repositorio de GitHub conectado
- ✅ Jenkinsfile presente en el repositorio
🏁 Iniciar el Build Manualmente
Paso 1: Acceder al Dashboard de Jenkins
- Abre tu navegador y navega a la URL de Jenkins (típicamente
http://localhost:8080
o la dirección IP del servidor) - Inicia sesión con tus credenciales de administrador
Paso 2: Localizar el Pipeline
- Navega al dashboard principal de Jenkins
- Busca el job
POLI-Generador-de-Claves
en la lista de proyectos - Haz clic en el nombre del proyecto para acceder a su página principal
Paso 3: Iniciar el Build
- Haz clic en el botón "Build Now" (o "Construir ahora") en el menú lateral izquierdo
- Confirma la acción si se te solicita
Paso 4 (Opcional): Especificar Parámetros
Si has configurado el pipeline con parámetros:
- Haz clic en "Build with Parameters" en lugar de "Build Now"
- Completa los parámetros según sea necesario:
VERSION_OVERRIDE
: Déjalo en blanco para la primera ejecuciónBUILD_TYPE
: Seleccionanormal
PUSH_LATEST
: Desmarca esta opción para la primera prueba
📊 Monitorear el Progreso
Paso 5: Ver la Ejecución en Tiempo Real
- Observa la barra de progreso que aparece en la sección "Build History"
- Haz clic en el número de build (por ejemplo, #1) para ver los detalles
- Selecciona "Console Output" para ver los logs en tiempo real
Paso 6: Seguir el Progreso por Stages
Verás el progreso a través de los diferentes stages del pipeline:
Started by user admin
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /var/jenkins_home/workspace/POLI-Generador-de-Claves
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Checkout)
[Pipeline] checkout
...
Visualización de Stages
El pipeline pasará por los siguientes stages:
- Checkout: Clona el repositorio
- Determine Version: Calcula la versión de la imagen
- Build Docker Image: Construye la imagen Docker
- Verify Image: Verifica la integridad de la imagen
- Push to DockerHub: Publica la imagen en Docker Hub
✅ Verificar Resultados
Paso 7: Comprobar el Estado Final
Una vez completado el build, verifica:
- Estado general: Debe mostrar "Success" (verde) si todo salió bien
- Logs finales: Revisa los mensajes de éxito al final del log
[Pipeline] stage
[Pipeline] { (Push to DockerHub)
...
✅ Build de desarrollo completado!
Para usar esta versión:
docker pull usuario/generador-claves:1.0.0-build.1
docker run -d -p 3000:3000 usuario/generador-claves:1.0.0-build.1
...
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
Finished: SUCCESS
Paso 8: Verificar la Imagen en Docker Hub
- Abre tu navegador y ve a Docker Hub
- Inicia sesión con tus credenciales
- Navega a tu repositorio
generador-claves
- Verifica que la imagen con la versión correcta esté presente
Paso 9: Probar la Imagen Localmente
Para confirmar que la imagen funciona:
# Descargar la imagen
docker pull usuario/generador-claves:1.0.0-build.1
# Ejecutar un contenedor
docker run -d -p 3000:3000 --name test-generador usuario/generador-claves:1.0.0-build.1
# Verificar que está funcionando
curl http://localhost:3000
🚨 Troubleshooting
Error: "Could not find credentials"
Síntomas:
ERROR: Could not find credentials entry with ID 'dockerhub-credentials'
Solución:
- Ve a "Manage Jenkins" → "Manage Credentials"
- Verifica que las credenciales existan con el ID exacto
dockerhub-credentials
- Si no existen, créalas siguiendo la guía de configuración de credenciales
Error: "Permission denied to Docker daemon"
Síntomas:
Got permission denied while trying to connect to the Docker daemon socket
Solución:
- Verifica que el usuario de Jenkins tenga permisos para Docker:
sudo usermod -aG docker jenkins
sudo systemctl restart jenkins
- Si usas Docker-in-Docker, verifica la configuración:
docker exec -it jenkins-container bash
docker ps # Debería funcionar sin errores
Error: "Failed to push image"
Síntomas:
denied: requested access to the resource is denied
Solución:
- Verifica tus credenciales de Docker Hub
- Asegúrate de que el repositorio exista en Docker Hub
- Prueba iniciar sesión manualmente:
docker login -u tu_usuario
# Ingresa tu contraseña cuando se solicite
Error: "Build failed during Docker build"
Síntomas:
The command '/bin/sh -c yarn install' returned a non-zero code: 1
Solución:
- Revisa el Dockerfile en busca de errores
- Verifica que todas las dependencias estén disponibles
- Prueba construir la imagen manualmente:
docker build -t test-image .
📈 Análisis de Resultados
Métricas Importantes
Después de ejecutar el primer build, analiza estas métricas:
Métrica | Valor Esperado | Qué Revisar si Falla |
---|---|---|
Tiempo total | 3-5 minutos | Conexión a internet, tamaño del proyecto |
Tamaño de imagen | ~150-300MB | Optimización del Dockerfile |
Tiempo de build | 1-3 minutos | Cache de Docker, dependencias |
Tiempo de push | 30s-2min | Velocidad de subida, tamaño de imagen |
Logs Importantes
Busca estos mensajes clave en los logs:
- Versión determinada:
🏷️ Version determined: 1.0.0-build.1
📦 Is release: false
- Imagen construida:
Successfully built 3a1b2c3d4e5f
Successfully tagged usuario/generador-claves:1.0.0-build.1
- Push exitoso:
The push refers to repository [docker.io/usuario/generador-claves]
1.0.0-build.1: digest: sha256:1a2b3c... size: 1234
🔄 Ciclo de Desarrollo Continuo
Flujo de Trabajo Recomendado
Ahora que has ejecutado tu primer build, sigue este flujo para el desarrollo continuo:
flowchart LR
A[Desarrollo] --> B[Commit & Push]
B --> C[Build Manual]
C --> D[Verificar Imagen]
D --> E[Probar Aplicación]
E --> A