Weesify CLI
Deploy folder ke laman web HTML anda dengan satu arahan, tarik semula, semak apa yang berubah dan undur. Satu fail, tiada pakej untuk dipasang: ia hanya memerlukan Node.js 18 atau lebih baharu.
Pasang
Muat turun fail dan jalankannya dengan Node.js. Tiada apa-apa lain untuk dipasang, dan tiada npx atau pendaftaran pakej terlibat.
macOS dan Linux
curl -fsSLo weesify.mjs https://weesify.com/developers/cli/weesify.mjs && node weesify.mjs login
Windows (PowerShell)
Invoke-WebRequest https://weesify.com/developers/cli/weesify.mjs -OutFile weesify.mjs; node weesify.mjs login
Untuk menaip “weesify” sahaja di mana-mana, letakkannya pada PATH anda (macOS dan Linux):
chmod +x weesify.mjs && sudo mv weesify.mjs /usr/local/bin/weesify
weesify --version
Log masuk meminta token API. Buat satu dalam ruang kerja anda di bawah Tetapan → Pembangun dengan skop sites:read, sites:write dan sites:deploy. Ia disimpan dalam ~/.config/weesify/credentials.json, hanya boleh dibaca oleh anda, tidak pernah dalam folder projek anda.
Semak fail
Versi 1.0.0, 44 KB. Bandingkan SHA-256nya dengan yang ini sebelum anda menjalankannya:
e98494277685934e20bdfb05c7f9fe5087db5db66d80b2365a4d3f74ed51c8af
shasum -a 256 weesify.mjs # macOS
sha256sum weesify.mjs # Linux
Get-FileHash weesify.mjs # Windows
Deploy pertama
cd my-site
weesify init # pautkan folder ini ke laman web (atau cipta satu)
weesify deploy -m "Versi pertama"
weesify status # langsung berbanding draf berbanding folder ini
deploy memampatkan folder dalam ZIP pada komputer anda, memuat naiknya, menjadikan laman web tepat seperti folder itu dan menerbitkannya. Versi sebelumnya kekal hanya satu weesify rollback jauhnya. Tambah --draft untuk mengemas kini draf sahaja dan menerbitkan kemudian daripada editor.
Ditinggalkan secara automatik: node_modules/, .git/, .env, *.log dan fail sistem. Tambah corak anda sendiri pada .weesifyignore (sintaks sama seperti .gitignore). Kod pelayan seperti .php tidak pernah diterbitkan.
Arahan
| Arahan | Fungsi |
|---|---|
weesify login | Simpan token API (atau baca daripada --stdin) |
weesify whoami | Ruang kerja, nama token dan skop yang digunakan |
weesify sites | Senaraikan laman web anda |
weesify init [--site ID | --name NAME] | Pautkan folder ke laman web; menulis weesify.json (tiada rahsia di dalamnya) |
weesify deploy [dir] [-m MSG] [--draft] | Muat naik folder dan terbitkannya, atau kemas kini draf sahaja |
weesify pull [dir] [--live | --deployment ID] | Muat turun draf, laman langsung atau satu deployment |
weesify status | Deployment terakhir, perubahan draf, folder anda berbanding laman langsung, domain |
weesify deployments | Sejarah deployment |
weesify rollback [ID or #N] | Jadikan deployment terdahulu langsung semula (lalai: yang sebelumnya) |
weesify domains [list | add | verify | remove] HOST | Sambung dan semak domain tersuai |
weesify open | Buka laman web dalam pelayar anda |
Setiap arahan menerima --json untuk output boleh dibaca mesin, --site untuk memilih laman web dan --host untuk Weesify yang dihoskan sendiri.
CI dan automasi
Dalam CI, tetapkan token sebagai rahsia bernama WEESIFY_TOKEN; tiada langkah log masuk diperlukan. Setiap deploy menghantar Idempotency-Key sendiri, jadi muat naik yang dicuba semula tidak pernah diterbitkan dua kali.
# GitHub Actions
- run: curl -fsSLo weesify.mjs https://weesify.com/developers/cli/weesify.mjs
- run: echo "e98494277685934e20bdfb05c7f9fe5087db5db66d80b2365a4d3f74ed51c8af weesify.mjs" | sha256sum -c -
- run: node weesify.mjs deploy dist --site ${{ vars.WEESIFY_SITE }} -m "Build ${{ github.sha }}"
env:
WEESIFY_TOKEN: ${{ secrets.WEESIFY_TOKEN }}
Laman web yang memerlukan kelulusan pelanggan tidak boleh diterbitkan oleh token sehingga draf semasa diluluskan; deploy kemudian berhenti dengan kod keluar 2.
Kod keluar
| Kod | Bermaksud |
|---|---|
| 0 | Selesai (untuk deploy: laman web sudah langsung) |
| 1 | Ada sesuatu yang tidak kena |
| 2 | Kelulusan diperlukan sebelum penerbitan |
| 3 | Deploy gagal; versi sebelumnya kekal langsung |
| 4 | Tidak log masuk, atau token tidak dibenarkan melakukan ini |
| 5 | Tidak ditemui dalam ruang kerja ini |
| 6 | Masalah rangkaian, pelayan atau had kadar: selamat untuk dicuba semula |
| 64 | Arahan digunakan dengan cara yang salah |