Saltar al contenido principal

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] --json

Parámetros

Desliza o usa la barra horizontal para ver todas las columnas.

NombreTipoObligatorioPredeterminadoDescripción
target_hoststrNo declaradoDestino SSH con formato host o usuario@host
pathstrNo"."Directorio local explícito del artefacto que se desplegará; QZX nunca lo compila ni sustituye por la raíz del proyecto
target_pathstrNo declaradoDirectorio remoto absoluto que pasará a ser la versión activa
portintNo22Puerto SSH
ssh_keystrNoNo declaradoArchivo local opcional de la clave privada SSH
known_hostsstrNoNo declaradoArchivo OpenSSH known_hosts explícito y opcional con el que se verifica la identidad del servidor remoto
health_urlstrNoNo declaradoEndpoint HTTP(S) sin credenciales, query ni fragmento; es obligatorio para un despliegue real y se comprueba después de la promoción
health_expectstrNoNo declaradoTexto opcional que debe aparecer en el cuerpo de la respuesta de salud
health_attemptsintNo5Cantidad de intentos de comprobación de salud, entre 1 y 20
health_intervalfloatNo2Segundos entre intentos de salud, entre 0 y 30
health_timeoutfloatNo5Tiempo límite de cada intento de salud, entre 0,1 y 30 segundos
deployment_idstrNoNo declaradoIdentificador estable opcional que se incorpora a las rutas de auditoría y recuperación
dry_runboolNotruePrevisualiza 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/current

Inspeccionar 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 false

Respaldar 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

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

Estos comandos también pertenecen a la categoría de desarrollo. Compáralos para elegir la operación que mejor resuelva tu tarea.

Explorar todos los comandos de QZX