desarrollo · Referencia de comando
qzx deployProject
Qué hace
Previsualiza o despliega un artefacto explícito por SSH con respaldo remoto verificado, validación SHA-256, promoción atómica, comprobación de salud y rollback automático.
Madurez del comando: Alpha
Disponible para uso real y retroalimentación mientras su interfaz y comportamiento todavía pueden evolucionar. Esta es la evaluación actual del checkout de desarrollo. Cada futuro tag inmutable de release conservará la evaluación exacta incluida en esa versión. Disponible en PyPI 0.2.2.0.8. La documentación corresponde al checkout alpha 0.2.2.0.8.
Comportamiento y protecciones integradas
El modo real aplica los cambios que solicites
Vista previa disponible
Usa una herramienta nativa cuando hace falta
Usa la red para la tarea documentada
Usa tus permisos actuales; el resultado puede variar
El modo predeterminado solo previsualiza y no abre una conexión. Un despliegue real exige una identidad SSH ya conocida —con el archivo normal de OpenSSH o con known_hosts explícito—, respalda primero el artefacto local y el estado remoto, sube a un directorio nuevo, comprueba cada archivo con SHA-256, promociona dentro del mismo sistema de archivos y exige una comprobación HTTP(S) sin secretos en la URL. Si esta falla, restaura automáticamente el estado remoto anterior. QZX no compila, no usa rsync --delete, no cambia permisos, no ejecuta comandos remotos arbitrarios ni reinicia servicios; tampoco elimina automáticamente las rutas de respaldo o recuperación que devuelve.
QZX crea un archivo de recuperación antes de los cambios reales; usa --dangerously-bypass-approvals-and-sandbox/--yolo solo cuando decidas omitirlo deliberadamente.
Usa el servicio externo documentado y comparte únicamente los datos descritos abajo.
Esta clasificación de seguridad fue revisada por OpenAI GPT-5.6 Pro contra el digest de implementación sha256:240e73f477e23633addd75a0fcc9da0ec756665594164338a747bec91d09d58d el 2026-08-25.
Sintaxis exacta
qzx deployProject <target_host> [path] <target_path> [port] [ssh_key] [known_hosts] [health_url] [health_expect] [health_attempts] [health_interval] [health_timeout] [deployment_id] [dry_run] --jsonParámetros
Desliza o usa la barra horizontal para ver todas las columnas.
| Nombre | Tipo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|---|
| target_host | str | Sí | No declarado | Destino SSH con formato host o usuario@host |
| path | str | No | "." | Directorio local explícito del artefacto que se desplegará; QZX nunca lo compila ni sustituye por la raíz del proyecto |
| target_path | str | Sí | No declarado | Directorio remoto absoluto que pasará a ser la versión activa |
| port | int | No | 22 | Puerto SSH |
| ssh_key | str | No | No declarado | Archivo local opcional de la clave privada SSH |
| known_hosts | str | No | No declarado | Archivo OpenSSH known_hosts explícito y opcional con el que se verifica la identidad del servidor remoto |
| health_url | str | No | No declarado | Endpoint HTTP(S) sin credenciales, query ni fragmento; es obligatorio para un despliegue real y se comprueba después de la promoción |
| health_expect | str | No | No declarado | Texto opcional que debe aparecer en el cuerpo de la respuesta de salud |
| health_attempts | int | No | 5 | Cantidad de intentos de comprobación de salud, entre 1 y 20 |
| health_interval | float | No | 2 | Segundos entre intentos de salud, entre 0 y 30 |
| health_timeout | float | No | 5 | Tiempo límite de cada intento de salud, entre 0,1 y 30 segundos |
| deployment_id | str | No | No declarado | Identificador estable opcional que se incorpora a las rutas de auditoría y recuperación |
| dry_run | bool | No | true | Previsualiza el artefacto exacto y todas las rutas remotas sin conectarse |
Ejemplos de entrada
qzx deployProject --target-host [email protected] --path ./dist --target-path /srv/example/currentInspeccionar el artefacto y previsualizar todas las rutas remotas de recuperación
qzx deployProject --target-host [email protected] --path ./dist --target-path /srv/example/current --health-url https://example.test/health --health-expect "ready" --dry-run falseRespaldar el artefacto y ejecutar un despliegue verificado
Para obtener la carga estructurada completa, añade --json: qzx deployProject <target_host> [path] <target_path> [port] [ssh_key] [known_hosts] [health_url] [health_expect] [health_attempts] [health_interval] [health_timeout] [deployment_id] [dry_run] --json
Ejemplo de salida representativa
Este JSON ilustrativo deriva del contrato de resultado respaldado por la implementación actual. Muestra lo que el comando puede devolver sin afirmar que es una ejecución grabada; los valores varían según entradas, equipo, permisos y herramientas opcionales.
Comando del ejemplo: qzx deployProject --target-host [email protected] --path ./dist --target-path /srv/example/current --json
{
"success": true,
"message": "Previews or deploys one explicit artifact over SSH using a verified remote backup, SHA-256 validation, atomic promotion, health checks, and automatic rollback. In this illustrative example, the command completed successfully.",
"meta": {
"command": "deployProject",
"command_maturity": {
"stage": "alpha",
"label": "Alpha",
"sequence": 2,
"public_executable": true,
"stability": "interface_may_change",
"summary": "Available for real use and feedback while its interface and behavior can still evolve.",
"promotion_review_required": false,
"assessment_scope": "development_checkout"
},
"duration_ms": 0,
"schema_version": 1
},
"details": {
"summary": "Additional structured context is included here."
}
}Ver el contrato de resultado JSON
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": [
"success",
"message",
"meta"
],
"properties": {
"success": {
"type": "boolean"
},
"message": {
"type": "string"
},
"meta": {
"type": "object",
"required": [
"command",
"command_maturity",
"duration_ms",
"schema_version"
],
"properties": {
"command": {
"type": "string"
},
"command_maturity": {
"type": "object",
"required": [
"stage",
"label",
"sequence",
"public_executable",
"stability",
"summary",
"promotion_review_required",
"assessment_scope"
],
"properties": {
"stage": {
"type": "string"
},
"label": {
"type": "string"
},
"sequence": {
"type": "integer"
},
"public_executable": {
"type": "boolean"
},
"stability": {
"type": "string"
},
"summary": {
"type": "string"
},
"promotion_review_required": {
"type": "boolean"
},
"assessment_scope": {
"type": "string"
},
"note": {
"type": "string"
},
"review": {
"type": "object",
"required": [
"reviewed_on",
"rationale",
"evidence"
],
"properties": {
"reviewed_on": {
"type": "string",
"format": "date"
},
"rationale": {
"type": "string"
},
"evidence": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"replacement": {
"type": "string"
}
},
"additionalProperties": false
}
},
"additionalProperties": true
},
"duration_ms": {
"type": "number"
},
"schema_version": {
"type": "integer"
}
},
"additionalProperties": true
},
"details": []
},
"additionalProperties": true
}Errores y límites
El contrato público exige success=false y un message descriptivo en fallos. Este catálogo aún no declara una taxonomía de errores específica para cada comando; revisa el resultado y no infieras códigos inexistentes.
QZX está en alpha. Dependencias opcionales, permisos y capacidades del host pueden cambiar el resultado.
Flujo de evidencia: requiere un endpoint autorizado o una fixture revisada.
Evidencia y procedencia
- Implementación
- src/qzx/commands/development/deploy_project.py
- Canal de documentación
- Documentación de desarrollo 0.2.2.0.8 · main · sha256:9aa902dfb6b006017e52972bf7871fef49b03ec24ff80741231d743d0354bfc2
- Disponibilidad
- 0.2.2.0.8 o anterior
Sigue explorando
Comandos relacionados
Estos comandos también pertenecen a la categoría de desarrollo. Compáralos para elegir la operación que mejor resuelva tu tarea.
qzx compareFilesCompara archivos de texto línea por línea y archivos binarios mediante bytes exactos y SHA-256.qzx diagnoseProjectInspecciona tecnologías, dependencias, flujos de validación, estado de Git, calidad del código y archivos grandes sin ejecutar scripts del proyecto.qzx cleanDevelopmentArtifactsBusca cachés, dependencias instaladas y artefactos de compilación generados; de forma predeterminada solo previsualiza.qzx findUnusedCodeBusca funciones, clases y exportaciones sin referencias visibles para revisarlas antes de retirarlas.