Langsung ke konten

CLI ​

zenavo men-deploy dan mengoperasikan proyek Anda dari terminal atau dari CI. CLI ini berkomunikasi dengan REST API memakai API key, dan perintahnya mengikuti CLI Zeabur (auth, workspace, context, project, service, deployment), sehingga mudah untuk pindah.

Instalasi ​

Bangun dari repositori zenavo-cli dengan Go 1.26 atau lebih baru:

sh
make build            # ./zenavo untuk mesin ini
make dist             # dist/zenavo_<os>_<arch> untuk macOS, Linux, dan Windows, dengan SHA256SUMS

Masuk ​

sh
zenavo auth login                          # menampilkan kode dan membuka <console>/device
zenavo auth login --scope deploy           # meminta kunci yang bisa men-deploy, tetapi tidak semuanya
zenavo auth login --with-token < key.txt   # API key yang sudah ada, dibaca dari stdin
zenavo auth status                         # Anda masuk sebagai siapa, dan apa yang boleh dilakukan kunci

auth login menampilkan kode dan membuka halaman /device di konsol: masuk, ketik kodenya, dan setujui. Periksa nama perangkat dan jaringan yang ditampilkan halaman itu sebelum menyetujui. Lewat SSH, buka alamat yang dicetak di perangkat mana pun. CLI lalu mendapat API key-nya sendiri, bernama "CLI on <computer>" dan berlaku 90 hari. Di halaman persetujuan Anda bisa menurunkan izinnya dan membatasinya ke beberapa proyek.

--scope memilih izin yang diminta CLI: read (Read only), deploy (Deploy), atau full (Full access, bawaan). Minta seminimal yang Anda perlukan, terutama di mesin bersama. Penyetuju masih bisa menurunkannya atau membatasinya ke beberapa proyek, tetapi tidak bisa menaikkannya. CLI menyimpan apa yang disetujui, dan zenavo auth status menampilkannya:

https://zenavo.app as dev@example.com (saved key)
Access: deploy (deploy and configure existing projects), limited to 1 project(s): proj_…

Saat sebuah perintah membutuhkan lebih dari yang boleh dilakukan kunci, API menjawab 403 dan CLI menjelaskan apa yang harus dilakukan: masuk lagi dengan cakupan lebih luas (zenavo auth login --scope full), menyetujui kunci untuk semua proyek, atau, untuk hal yang tidak bisa dilakukan API key mana pun (tagihan, anggota, akun), memakai konsol. Dengan --with-token, izin kunci sudah dipilih saat dibuat, jadi auth status tidak bisa menampilkannya; --scope tidak berlaku di sana.

Kunci disimpan di ~/.config/zenavo/config.json (atau $ZENAVO_CONFIG) dengan mode 0600, dan hanya dikirim ke konsol tempat kunci itu dibuat. auth logout melupakannya secara lokal; hapus di API Keys untuk mencabutnya.

CI dan skrip ​

Atur ZENAVO_TOKEN ke API key (dan ZENAVO_API_URL bila bukan https://zenavo.app) sebagai ganti masuk, dan berikan -i=false agar tidak ada perintah yang bertanya. --json mencetak JSON di stdout untuk jq; progres ke stderr. Job yang diikuti dan gagal keluar dengan status 1.

sh
export ZENAVO_TOKEN=zv_pat_…
zenavo deploy web -p blog -i=false

Konteks ​

zenavo team switch dan zenavo context set project|service menyimpan tim, proyek, dan layanan yang dipakai perintah berikutnya. --team (atau --workspace), --project/-p, dan --service/-s menimpanya untuk satu perintah. Tanpa proyek atau layanan yang disimpan atau diberikan, CLI memakai satu-satunya yang ada, bertanya bila bisa, dan selain itu memberi tahu apa yang perlu diberikan.

Tur singkat ​

sh
zenavo team ls                                # tim Anda; * menandai yang aktif
zenavo team switch acme
zenavo project create blog --git https://github.com/acme/blog
zenavo env set PORT=3000 DATABASE_PASSWORD    # KEY saja akan meminta nilainya tanpa ditampilkan
zenavo deploy                                 # semua layanan; mengikuti log build
zenavo deploy web                             # satu layanan; yang lain tetap seperti yang ter-deploy
zenavo service ls                             # status, kesiapan, restart, CPU, dan memori
zenavo logs web -f                            # log runtime langsung
zenavo logs --build                           # log build dan deploy terbaru
zenavo domain add blog                        # blog.zenavo.app, atau domain lengkap milik Anda
zenavo rollback                               # pilih deployment sukses sebelumnya
zenavo template deploy -f zeabur.yaml --var DOMAIN=blog

Perintah ​

PerintahFungsinya
auth login | logout | statusMasuk lewat browser atau dengan API key; lupakan kunci; tampilkan siapa Anda
team ls | current | switch | clearTim (alias workspace). Berpindah menghapus proyek dan layanan yang tersimpan
context show | set project | set service | clearNilai bawaan yang dipakai perintah berikutnya
server ls | getServer tim. Tambahkan server di konsol
project ls | get | create | deleteProyek. create --git <url> atau --image <image> menambahkan layanan pertama; delete meminta Anda mengetik namanya
service ls | deploy | restart | suspend | resume | execLayanan. exec -- <command> berjalan di kontainer dengan sh -c, hingga 60 detik
deploy [service] [--dir <path>]Deploy proyek atau satu layanan dan ikuti build-nya. --dir mengunggah direktori lokal sebagai sumber layanan, membuat layanan bila perlu. --detach langsung kembali
logs [service] [-f] [--build]200 baris terakhir log runtime, dialirkan dengan -f; --build mencetak log build terbaru
shell [service]Terminal interaktif (bash atau sh) di kontainer layanan; keluar dengan status shell
job ls | get | log | waitJob: deploy, restart, backup (alias deployment)
rollback [job-id]Rollback proyek ke deployment sukses sebelumnya
env ls | set | unsetVariabel layanan. Nilai tetap tersembunyi kecuali --reveal; set --file .env; --deploy men-deploy setelah menyimpan
domain ls | add | rmNama tanpa titik (blog) mendapat domain otomatis; nama lengkap adalah domain Anda sendiri
template deploy -f <file>Membuat proyek dari template Zeabur (YAML) atau ekspor Zenavo (JSON); --var KEY=value, --deploy
backup ls | createBackup. create --engine postgres|mysql|volume:<id>. Unduh dan pulihkan di konsol
versionVersi CLI

Setiap perintah menerima --help. Flag global: --team (--workspace), --project/-p, --service/-s, --json, --yes/-y, -i=false, dan --api.

Belum ada di CLI ​

Menambahkan dan menyiapkan server, manajemen tim, GitHub App, serta mengunduh atau memulihkan backup dilakukan di konsol.

Tidak berafiliasi dengan Zeabur.