pengembangan · Referensi perintah
qzx deployProject
Apa fungsinya
Mempratinjau atau men-deploy artefak eksplisit melalui SSH dengan cadangan remote terverifikasi, validasi SHA-256, promosi atomik, pemeriksaan kesehatan, dan rollback otomatis.
Kematangan perintah: Alpha
Tersedia untuk penggunaan nyata dan umpan balik sementara antarmuka serta perilakunya masih dapat berkembang. Ini adalah evaluasi saat ini untuk checkout pengembangan. Setiap tag rilis immutable di masa mendatang akan mempertahankan evaluasi persis yang disertakan dalam versi tersebut. Tersedia di PyPI 0.2.2.0.9. Dokumentasi ini sesuai dengan checkout alpha 0.2.2.0.9.
Perilaku dan perlindungan bawaan
Mode nyata menerapkan perubahan yang Anda minta
Pratinjau tersedia
Menggunakan alat native saat diperlukan
Menggunakan jaringan untuk tugas yang didokumentasikan
Menggunakan izin Anda saat ini; hasil dapat bervariasi
Mode default hanya mempratinjau dan tidak membuka koneksi. Deployment nyata memerlukan identitas SSH yang sudah dikenal—melalui file OpenSSH normal atau known_hosts eksplisit—, terlebih dahulu mencadangkan artefak lokal dan status remote, mengunggah ke direktori baru, memeriksa setiap file dengan SHA-256, melakukan promosi dalam filesystem yang sama, dan mewajibkan pemeriksaan HTTP(S) tanpa rahasia di URL. Jika pemeriksaan gagal, status remote sebelumnya dipulihkan otomatis. QZX tidak membuild, tidak menggunakan rsync --delete, tidak mengubah izin, tidak menjalankan perintah remote arbitrer, dan tidak me-restart layanan; QZX juga tidak otomatis menghapus jalur cadangan atau pemulihan yang dikembalikan.
QZX membuat arsip pemulihan sebelum perubahan nyata; gunakan --dangerously-bypass-approvals-and-sandbox/--yolo hanya jika Anda sengaja memilih untuk melewatinya.
Menggunakan layanan eksternal yang didokumentasikan dan hanya membagikan data yang dijelaskan di bawah.
Klasifikasi keamanan ini ditinjau oleh OpenAI GPT-5.6 Pro terhadap digest implementasi sha256:240e73f477e23633addd75a0fcc9da0ec756665594164338a747bec91d09d58d pada 2026-08-25.
Sintaks persis
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] --jsonParameter
Geser atau gunakan bilah horizontal untuk melihat semua kolom.
| Nama | Tipe | Wajib | Default | Deskripsi |
|---|---|---|---|---|
| target_host | str | Ya | Tidak dideklarasikan | Target SSH dalam format host atau pengguna@host |
| path | str | Tidak | "." | Direktori lokal eksplisit dari artefak yang akan di-deploy; QZX tidak pernah membuild-nya atau menggantinya dengan root proyek |
| target_path | str | Ya | Tidak dideklarasikan | Direktori remote absolut yang akan menjadi versi aktif |
| port | int | Tidak | 22 | Port SSH |
| ssh_key | str | Tidak | Tidak dideklarasikan | File lokal opsional untuk private key SSH |
| known_hosts | str | Tidak | Tidak dideklarasikan | File OpenSSH known_hosts eksplisit dan opsional untuk memverifikasi identitas server remote |
| health_url | str | Tidak | Tidak dideklarasikan | Endpoint HTTP(S) tanpa kredensial, query, atau fragment; wajib untuk deployment nyata dan diperiksa setelah promosi |
| health_expect | str | Tidak | Tidak dideklarasikan | Teks opsional yang harus muncul dalam body respons kesehatan |
| health_attempts | int | Tidak | 5 | Jumlah percobaan pemeriksaan kesehatan, antara 1 dan 20 |
| health_interval | float | Tidak | 2 | Detik antarpercobaan pemeriksaan kesehatan, antara 0 dan 30 |
| health_timeout | float | Tidak | 5 | Batas waktu setiap percobaan pemeriksaan kesehatan, antara 0,1 dan 30 detik |
| deployment_id | str | Tidak | Tidak dideklarasikan | Identifier stabil opsional yang dimasukkan ke jalur audit dan pemulihan |
| dry_run | bool | Tidak | true | Mempratinjau artefak persis dan semua jalur remote tanpa terhubung |
Contoh input
qzx deployProject --target-host [email protected] --path ./dist --target-path /srv/example/currentPeriksa artefak dan pratinjau semua jalur pemulihan remote
qzx deployProject --target-host [email protected] --path ./dist --target-path /srv/example/current --health-url https://example.test/health --health-expect "ready" --dry-run falseCadangkan artefak dan jalankan deployment terverifikasi
Untuk mendapatkan payload terstruktur lengkap, tambahkan --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
Contoh output representatif
JSON ilustratif ini berasal dari kontrak hasil yang didukung implementasi saat ini. Ini menunjukkan apa yang dapat dikembalikan perintah tanpa mengklaim sebagai eksekusi yang direkam; nilainya bervariasi menurut input, mesin, izin, dan alat opsional.
Perintah contoh: 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."
}
}Lihat kontrak hasil 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
}Kesalahan dan batasan
Kontrak publik mensyaratkan success=false dan message yang deskriptif saat gagal. Katalog ini belum mendeklarasikan taksonomi kesalahan khusus untuk setiap perintah; periksa hasil dan jangan menyimpulkan kode yang tidak ada.
QZX masih dalam tahap alpha. Dependency opsional, izin, dan kemampuan host dapat mengubah hasil.
Alur bukti: memerlukan endpoint terotorisasi atau fixture yang telah ditinjau.
Bukti dan asal-usul
- Implementasi
- src/qzx/commands/development/deploy_project.py
- Kanal dokumentasi
- Dokumentasi pengembangan 0.2.2.0.9 · main · sha256:cfba936e39931c286ca23add0ae546693db17d8b316e7cbc3891d26642d9b7e8
- Ketersediaan
- 0.2.2.0.9 atau lebih lama
Lanjut jelajahi
Perintah terkait
Perintah ini juga termasuk kategori pengembangan. Bandingkan untuk memilih operasi yang paling sesuai bagi tugas Anda.
qzx compareFilesMembandingkan file teks baris demi baris dan file biner menggunakan byte persis serta SHA-256.qzx diagnoseProjectMemeriksa teknologi, dependency, alur validasi, status Git, kualitas kode, dan file besar tanpa menjalankan skrip proyek.qzx cleanDevelopmentArtifactsMencari cache, dependency terpasang, dan artefak build yang dihasilkan; secara default hanya menampilkan pratinjau.qzx findUnusedCodeMencari fungsi, kelas, dan ekspor tanpa referensi yang terlihat untuk ditinjau sebelum dihapus.