Tu primera compilación
Este tutorial crea, valida, compila e inspecciona una imagen personalizada. Una receta validada es una comprobación de configuración, no prueba de que el ISO se haya compilado ni de que todo el comportamiento solicitado haya pasado una prueba en VM.
Antes de empezar
- Inicia sesión para que la conversación y la compilación queden vinculadas a tu cuenta.
- Empieza con un sistema operativo y un conjunto pequeño de paquetes o servicios.
- Decide qué evidencia demostraría que se cumplió la solicitud. Presencia de paquete, estado del servicio, un puerto en escucha y comportamiento de GUI son aserciones distintas.
En una primera ejecución, evita credenciales y URLs de repositorios privados en el chat. Añade secretos después mediante el flujo de credenciales admitido en lugar de incrustarlos en la imagen.
1. Enuncia el resultado y sus comprobaciones
Ejemplo:
Build a Debian 13 server image with OpenSSH and curl.
Create a password-locked deploy user in the sudo group.
Verify that the image boots, the deploy user exists, the ssh service is
enabled, and curl is installed. Do not add Docker or a desktop.Las exclusiones explícitas ayudan a distinguir una imagen mínima intencionada de una solicitud que el planificador simplemente omitió.
2. Inspecciona la vista previa de la receta
Comprueba al menos:
base_imagecoincide con la distribución y la versión solicitadas;- los paquetes solicitados aparecen bajo
os.packageso los aporta una feature explícita; - usuarios, grupos, servicios, red, instalador y opciones de escritorio coinciden con la solicitud;
scenarioscontienen las comprobaciones que realmente necesitas;- no se introdujo ningún paquete, escritorio, instalador, credencial o repositorio externo no solicitado.
Pide cambios en la misma conversación. Las solicitudes de seguimiento se aplican a la receta activa. Cuando se usa Validate Recipe, el backend conserva la solicitud sustantiva previa del chat y bloquea la receta si faltan requisitos explícitos; la frase de control generada no puede borrar la intención de la conversación.
La validación aún puede pasar por alto un paquete no disponible, una caída upstream, un fallo de compilación específico de la distro o un comportamiento sin prueba. Lee la vista previa como un contrato propuesto.
3. Inicia la compilación una vez
Selecciona Start Build en la vista previa validada. Un clic correcto crea un ID de compilación. Conserva ese ID al reportar un problema; es más fiable que un porcentaje o una captura sola.
El panel de compilación puede mostrar estados como queued, planning, configured, building, finalizing, completed, failed o cancelled. Una compilación en cola puede estar esperando capacidad de worker o recuperación de arranque. Un porcentaje mostrado es una proyección de progreso, no una fecha límite; algunos pasos de empaquetado y sistema de archivos tardan mucho más que otros.
Puedes seguir la compilación en su panel en vivo aunque abandones la vista de chat original. Recargar debería reconectar mediante el estado de compilación persistido y el flujo de eventos. No pulses Start Build repetidamente salvo que la UI indique que no se creó un ID de compilación o que la compilación anterior alcanzó un estado terminal.
4. Separa la finalización de imagen de la finalización de pruebas
Una imagen puede terminar antes de que la verificación en VM seleccionada alcance un estado terminal. Lee ambos:
- build status: si se ensambló y finalizó un artefacto durable;
- test status:
not_run,running,passed,failedoerror; - certification status, cuando exista: el resultado de la política de evidencia configurada, no una certificación universal de seguridad o hardware.
Abre los detalles de prueba. Confirma que cada aserción solicitada se ejecutó contra el guest esperado e inspecciona fallos o comprobaciones omitidas. Una prueba de arranque superada no prueba que una aplicación se abra; un registro de paquete no prueba que su servicio esté sano.
5. Inspecciona y descarga el artefacto
Antes de descargar, compara la receta final y la evidencia de paquetes/pruebas con la solicitud. Registra el ID de compilación, nombre del archivo del artefacto, tamaño y suma de comprobación cuando se muestren.
Usa la acción de descarga de la compilación solo después de que termine la finalización del artefacto. El paquete de descarga puede contener el ISO y evidencia relacionada. Si la descarga devuelve Failed to create download package, not found u otro error JSON:
- confirma que tienes sesión iniciada como propietario de la compilación;
- reabre la compilación exacta, no una tarjeta de conversación antigua;
- verifica que la finalización del artefacto está completa y que el ISO aparece listado;
- reintenta una vez;
- reporta el ID de compilación, marca de tiempo, estados mostrados de compilación/prueba/finalización y el texto exacto del error.
No recompiles solo para sortear un error de propiedad o empaquetado; eso puede descartar estado diagnóstico útil y consumir otra ranura de compilación.
6. Prueba el ISO en su contexto previsto
Arrancar en la VM de OpenFactory verifica solo el entorno virtual configurado. Para un escritorio instalable, prueba también la ruta del instalador en un disco desechable. Para despliegue físico, prueba por separado modo de firmware, almacenamiento, gráficos, red, suspensión, dispositivos de entrada, actualizaciones y recuperación en hardware representativo.
Rutas de recuperación habituales
| Síntoma | Acción |
|---|---|
| La receta valida pero omite una solicitud | No compiles; enuncia el requisito faltante explícitamente y valida de nuevo |
| La compilación está en cola | Conserva el ID de compilación y comprueba cola/estado de recuperación; evita inicios duplicados |
| El progreso parece sin cambios | Inspecciona la etapa actual y la actividad reciente en logs antes de declararla bloqueada |
| La compilación falla | Lee el primer error causal, no solo el resumen final; revisa o reintenta solo cuando entiendas la causa |
| Las pruebas fallan | Distingue defecto de producto, defecto de aserción, problema de arranque del guest y error de infraestructura |
| La descarga falta o está prohibida | Confirma sesión de propietario, estado de finalización e ID de compilación exacto antes de recompilar |