본문으로 건너뛰기

개발 · 명령 참조

qzx deployProject

기능

명시적으로 지정한 아티팩트를 SSH로 미리 보거나 배포하며, 검증된 원격 백업, SHA-256 검증, 원자적 승격, 상태 확인 및 자동 롤백을 제공합니다.

명령 성숙도: Alpha

실제 사용과 피드백에 사용할 수 있지만 인터페이스와 동작은 아직 바뀔 수 있습니다. 현재 개발 체크아웃에 대한 평가입니다. 이후의 각 불변 릴리스 태그는 해당 버전에 포함된 정확한 평가를 보존합니다. PyPI 0.2.2.0.9에서 사용할 수 있습니다. 문서는 alpha 체크아웃 0.2.2.0.9에 해당합니다.

동작 및 내장 보호

실제 모드는 요청한 변경 사항을 적용합니다

미리보기 제공

필요할 때 네이티브 도구를 사용합니다

문서화된 작업을 위해 네트워크를 사용합니다

현재 권한을 사용하며 결과는 달라질 수 있습니다

기본 모드는 미리보기만 하며 연결을 열지 않습니다. 실제 배포에는 일반 OpenSSH 파일이나 명시적 known_hosts를 통해 이미 알려진 SSH 신원이 필요합니다. 먼저 로컬 아티팩트와 원격 상태를 백업하고 새 디렉터리에 업로드한 뒤 각 파일을 SHA-256으로 검사하고 같은 파일 시스템 안에서 승격하며 URL에 비밀 정보가 없는 HTTP(S) 확인을 요구합니다. 실패하면 이전 원격 상태를 자동으로 복원합니다. QZX는 빌드하지 않고 rsync --delete를 사용하지 않으며 권한을 바꾸거나 임의의 원격 명령을 실행하거나 서비스를 재시작하지 않습니다. 반환된 백업 또는 복구 경로도 자동 삭제하지 않습니다.

QZX는 실제 변경 전에 복구 파일을 만듭니다. 이를 의도적으로 생략하기로 결정한 경우에만 --dangerously-bypass-approvals-and-sandbox/--yolo를 사용하세요.

문서화된 외부 서비스를 사용하며 아래에 설명된 데이터만 공유합니다.

이 안전 분류는 2026-08-25에 OpenAI GPT-5.6 Pro가 구현 다이제스트 sha256:240e73f477e23633addd75a0fcc9da0ec756665594164338a747bec91d09d58d를 기준으로 검토했습니다.

정확한 구문

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

매개변수

밀거나 가로 스크롤 막대를 사용해 모든 열을 확인하세요.

이름유형필수기본값설명
target_hoststr선언되지 않음host 또는 사용자@host 형식의 SSH 대상
pathstr아니요"."배포할 아티팩트의 명시적 로컬 디렉터리. QZX는 이를 빌드하거나 프로젝트 루트로 바꾸지 않음
target_pathstr선언되지 않음활성 버전이 될 절대 원격 디렉터리
portint아니요22SSH 포트
ssh_keystr아니요선언되지 않음선택적 로컬 SSH 개인 키 파일
known_hostsstr아니요선언되지 않음원격 서버 신원을 검증하는 데 사용하는 선택적 명시 OpenSSH known_hosts 파일
health_urlstr아니요선언되지 않음자격 증명, query 또는 fragment가 없는 HTTP(S) endpoint. 실제 배포에 필수이며 승격 후 확인
health_expectstr아니요선언되지 않음상태 응답 본문에 나타나야 하는 선택적 텍스트
health_attemptsint아니요5상태 확인 시도 횟수, 1~20
health_intervalfloat아니요2상태 확인 시도 간격(초), 0~30
health_timeoutfloat아니요5각 상태 확인의 타임아웃, 0.1~30초
deployment_idstr아니요선언되지 않음감사 및 복구 경로에 포함되는 선택적 안정 식별자
dry_runbool아니요true연결하지 않고 정확한 아티팩트와 모든 원격 경로 미리보기

입력 예제

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

아티팩트를 검사하고 모든 원격 복구 경로 미리보기

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

아티팩트를 백업하고 검증된 배포 실행

전체 구조화 페이로드를 받으려면 --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

대표 출력 예제

이 예시 JSON은 현재 구현이 뒷받침하는 결과 계약에서 파생됩니다. 기록된 실행이라고 주장하지 않고 명령이 반환할 수 있는 내용을 보여 주며, 값은 입력, 장비, 권한 및 선택 도구에 따라 달라집니다.

예제 명령: 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."
    }
}
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
}

오류 및 제한

공개 계약은 실패 시 success=false와 설명적인 message를 요구합니다. 이 카탈로그는 아직 명령별 오류 분류 체계를 선언하지 않으므로 결과를 확인하고 존재하지 않는 코드를 추정하지 마세요.

QZX는 alpha 단계입니다. 선택적 종속성, 권한 및 호스트 기능에 따라 결과가 달라질 수 있습니다.

근거 흐름: 승인된 엔드포인트 또는 검토된 fixture 필요.

근거 및 출처

문서 채널
개발 문서 0.2.2.0.9 · main · sha256:cfba936e39931c286ca23add0ae546693db17d8b316e7cbc3891d26642d9b7e8
제공 여부
0.2.2.0.9 또는 이전

계속 살펴보기

이 명령들도 개발 범주에 속합니다. 비교하여 작업에 가장 적합한 작업을 선택하세요.

모든 QZX 명령 살펴보기