Ir para o conteúdo principal

desenvolvimento · Referência do comando

qzx deployProject

O que faz

Visualiza ou implanta um artefato explícito por SSH com backup remoto verificado, validação SHA-256, promoção atômica, verificação de saúde e rollback automático.

Maturidade do comando: Alpha

Disponível para uso real e feedback enquanto a interface e o comportamento ainda podem evoluir. Esta é a avaliação atual do checkout de desenvolvimento. Cada tag de release imutável futuro preservará a avaliação exata incluída nessa versão. Disponível no PyPI 0.2.2.0.9. A documentação corresponde ao checkout alpha 0.2.2.0.9.

Comportamento e proteções integradas

O modo real aplica as alterações solicitadas

Prévia disponível

Usa uma ferramenta nativa quando necessário

Usa a rede para a tarefa documentada

Usa suas permissões atuais; o resultado pode variar

O modo padrão apenas mostra uma prévia e não abre conexão. Um deploy real exige uma identidade SSH já conhecida —pelo arquivo normal do OpenSSH ou por known_hosts explícito—, faz primeiro backup do artefato local e do estado remoto, envia para um diretório novo, verifica cada arquivo com SHA-256, promove dentro do mesmo sistema de arquivos e exige uma verificação HTTP(S) sem segredos na URL. Se ela falhar, restaura automaticamente o estado remoto anterior. O QZX não compila, não usa rsync --delete, não altera permissões, não executa comandos remotos arbitrários nem reinicia serviços; também não exclui automaticamente os caminhos de backup ou recuperação retornados.

O QZX cria um arquivo de recuperação antes das alterações reais; use --dangerously-bypass-approvals-and-sandbox/--yolo somente quando decidir ignorá-lo deliberadamente.

Usa o serviço externo documentado e compartilha somente os dados descritos abaixo.

Esta classificação de segurança foi revisada por OpenAI GPT-5.6 Pro em relação ao digest de implementação sha256:240e73f477e23633addd75a0fcc9da0ec756665594164338a747bec91d09d58d em 2026-08-25.

Sintaxe exata

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

Deslize ou use a barra horizontal para ver todas as colunas.

NomeTipoObrigatórioPadrãoDescrição
target_hoststrSimNão declaradoDestino SSH no formato host ou usuário@host
pathstrNão"."Diretório local explícito do artefato que será implantado; o QZX nunca o compila nem o substitui pela raiz do projeto
target_pathstrSimNão declaradoDiretório remoto absoluto que se tornará a versão ativa
portintNão22Porta SSH
ssh_keystrNãoNão declaradoArquivo local opcional da chave privada SSH
known_hostsstrNãoNão declaradoArquivo OpenSSH known_hosts explícito e opcional usado para verificar a identidade do servidor remoto
health_urlstrNãoNão declaradoEndpoint HTTP(S) sem credenciais, query nem fragmento; obrigatório para um deploy real e verificado após a promoção
health_expectstrNãoNão declaradoTexto opcional que deve aparecer no corpo da resposta de saúde
health_attemptsintNão5Quantidade de tentativas de verificação de saúde, entre 1 e 20
health_intervalfloatNão2Segundos entre tentativas de saúde, entre 0 e 30
health_timeoutfloatNão5Tempo limite de cada tentativa de saúde, entre 0,1 e 30 segundos
deployment_idstrNãoNão declaradoIdentificador estável opcional incorporado aos caminhos de auditoria e recuperação
dry_runboolNãotrueVisualiza o artefato exato e todos os caminhos remotos sem se conectar

Exemplos de entrada

qzx deployProject --target-host [email protected] --path ./dist --target-path /srv/example/current

Inspecionar o artefato e visualizar todos os caminhos remotos de recuperação

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

Fazer backup do artefato e executar um deploy verificado

Para obter o payload estruturado completo, adicione --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

Exemplo de saída representativa

Este JSON ilustrativo deriva do contrato de resultado respaldado pela implementação atual. Mostra o que o comando pode retornar sem afirmar que seja uma execução gravada; os valores variam conforme entradas, máquina, permissões e ferramentas opcionais.

Comando do exemplo: 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 o 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": [],
        "error": [],
        "error_code": []
    },
    "additionalProperties": true
}

Erros e limites

O contrato público exige success=false e uma message descritiva em caso de falha. Este catálogo ainda não declara uma taxonomia de erros específica para cada comando; revise o resultado e não infira códigos inexistentes.

O QZX está em alpha. Dependências opcionais, permissões e recursos do host podem alterar o resultado.

Fluxo de evidência: requer um endpoint autorizado ou uma fixture revisada.

Evidência e procedência

Canal de documentação
Documentação de desenvolvimento 0.2.2.0.9 · main · sha256:cfba936e39931c286ca23add0ae546693db17d8b316e7cbc3891d26642d9b7e8
Disponibilidade
0.2.2.0.9 ou anterior

Continue explorando

Estes comandos também pertencem à categoria desenvolvimento. Compare-os para escolher a operação que melhor resolve sua tarefa.

Explorar todos os comandos do QZX