Perintah
Copas prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Penggunaan
Bagian berjudul “Penggunaan”Semua perintah harus dijalankan di folder aplikasi Anda dengan capacitor proyek menyala dengan benar.
Inisialisasi
Bagian berjudul “Inisialisasi”npx @capgo/cli@latest init [apikey]
Metode ini ada untuk memandu Anda langkah demi langkah.
Akan menambahkan aplikasi Anda ke Capgo. Akan menambahkan code ke aplikasi Anda untuk memvalidasi pembaruan. Begitu juga, akan membangun aplikasi Anda. Selain itu, akan mengunggah aplikasi Anda ke Capgo. Dan akan membantu Anda untuk memeriksa apakah pembaruan berfungsi.
Login
Judul bagian “Login”npx @capgo/cli login [apikey]
Metode ini ada untuk mengingatkan Anda. apikey untuk Anda.
Optionally Anda dapat memberikan:
--local Ini akan menyimpan aplikasi Anda API Key simpan di repositori lokal dan abaikan di git.
Dokter
Bagian Judul “Dokter”npx @capgo/cli doctor
Perintah untuk memeriksa apakah Anda sudah terupdate dengan Capgo paket.
Perintah ini juga akan berguna untuk melaporkan bug.
Aplikasi
Bagian Judul “Aplikasi”Tambah
Bagian Judul “Tambah”npx @capgo/cli app add [appId]
[appId] ID aplikasi Anda dalam format com.test.app dijelaskan di sini.
💡 Semua pilihan akan ditebak di konfigurasi Anda jika tidak disediakan.
Anda dapat memberikan secara opsional:
--icon [/path/to/my/icon]untuk menampilkan ikon kustom di aplikasi web Capgo.--name [test]untuk menampilkan nama kustom di daftar.--apikey [key]API untuk menghubungkan ke akun Anda.--retention [retention]periode penyimpanan aplikasi bundel dalam hari, 0 oleh default = tak terbatas.
Contoh untuk capacitor.config.json untuk appId dan AppName, ikon akan ditebak di folder sumber daya
{ "appId": "ee.forgr.capacitor_go", "appName": "Capgo", "webDir": "dist"}npx @capgo/cli app set [appId]
[appId] ID aplikasi Anda, formatnya dijelaskan di sini di sini.
Anda dapat memberikan secara opsional:
--icon [/path/to/my/icon]untuk menampilkan ikon kustom di aplikasi web Capgo.--name [test]untuk menampilkan nama kustom di daftar.--retention [retention]periode penyimpanan paket aplikasi dalam hari, 0 oleh default = tak terbatas.--apikey [key]API kunci untuk menghubungkan ke akun Anda.
Daftar
Judul bagian “Daftar”npx @capgo/cli app list [appId]
[appId] ID aplikasi Anda, formatnya com.test.app dijelaskan di sini List.
Opsionalnya, Anda dapat memberikan:
--apikey [key]API kunci untuk menghubungkan ke akun Anda.
Hapus
Judul bagian “Hapus”npx @capgo/cli app delete [appId]
[appId] ID aplikasi Anda dalam format com.test.app dijelaskan di sini.
Opsionalnya, Anda dapat memberikan:
--apikey [key]API kunci untuk menghubungkan ke akun Anda.--bundledengan nomor versi hanya akan menghapus versi ini.
Debug
Judul bagian “Debug”npx @capgo/cli app debug [appId]
[appId] ID aplikasi Anda dalam format com.test.app diuraikan di sini.
Optionally, Anda dapat memberikan:
--apikey [key]API kunci untuk menghubungkan ke akun Anda.--devicedengan perangkat khusus yang ingin Anda debug
Pengaturan
Bab yang berjudul “Pengaturan”npx @capgo/cli app setting [path]
Ubah konfigurasi Capacitor.
[path] - jalur pengaturan yang Anda ingin ubah. Misalnya, untuk mengubah appId, berikan appId.
Jika Anda ingin menonaktifkan update otomatis di capacitor-updater, berikan plugins.CapacitorUpdater.autoUpdate dengan --string off.
Anda harus memilih salah satu dari berikut: --string atau --bool!
Pilihan:
--string <string>- mengatur pengaturan ke sebuah string--bool <true | false>- mengatur pengaturan ke sebuah boolean
Upload
Bagian berjudul “Upload”npx @capgo/cli bundle upload [appId]
[appId] ID aplikasi Anda, formatnya dijelaskan di sini di sini.
Optionally, Anda dapat memberikan:
--apikey <apikey>API kunci untuk menghubungkan ke akun Anda.--path <path>Jalur folder untuk mengunggah.--channel <channel>Saluran untuk menghubungkan ke.--external <url>Tautan ke URL eksternal daripada mengunggah ke Capgo Cloud.--iv-session-key <key>Atur IV dan kunci sesi untuk URL paket eksternal.--s3-endpoint <s3Endpoint>URL endpoint S3. Tidak berfungsi dengan delta uploads atau opsi eksternal.--s3-region <region>Wilayah untuk bucket S3 Anda.--s3-apikey <apikey>API kunci untuk endpoint S3 Anda.--s3-apisecret <apisecret>API rahasia untuk endpoint S3 Anda.--s3-bucket-name <bucketName>Nama untuk bucket S3 AWS Anda.--s3-port <port>Port untuk endpoint S3 Anda.--no-s3-sslNonaktifkan SSL untuk unggah S3.--key <key>Jalur khusus untuk kunci tanda tangan publik (sistem v1).--key-data <keyData>Kunci tanda tangan publik (sistem v1).--key-v2 <key>Jalur khusus untuk kunci tanda tangan privat (sistem v2).--key-data-v2 <keyData>Kunci tanda tangan privat (sistem v2).--bundle-urlTampilkan URL bundle ke stdout.--no-keyLupakan kunci tanda tangan dan kirim update jelas.--no-code-checkLupakan memeriksa jika notifyAppReady() dipanggil di sumber code dan indeks ada di folder root.--display-iv-sessionTampilkan di konsol IV dan kunci sesi yang digunakan untuk mengenkripsi update.--bundle <bundle>Nomor versi bundle yang akan diunggah.--min-update-version <minUpdateVersion>Versi minimal yang diperlukan untuk mengupdate ke versi ini. Digunakan hanya jika auto update dinonaktifkan di metadata di channel.--auto-min-update-versionAtur versi update minimum berdasarkan paket native.--ignore-metadata-checkMengabaikan pengecekan metadata (node_modules) saat mengunggah.--ignore-checksum-checkMengabaikan pengecekan ceksum saat mengunggah.--timeout <timeout>Waktu tunggu untuk proses unggahan dalam detik.--deltaMengunggah file Delta (manifest) bersamaan dengan bundle penuh.--delta-onlyMengunggah hanya update Delta (manifest), melompati bundle penuh.--no-deltaMengaktifkan pengunggahan Delta (manifest) (bermanfaat jika mode "instant apply" diaktifkan tetapi Anda ingin bundle penuh).autoUpdateMengaktifkan pengunggahan bundle menggunakan protokol TUS.--tusMenggunakan protokol multipart untuk mengunggah data ke S3, Tidak direkomendasikan, gunakan TUS sebaliknya.--multipartCeksum yang dienkripsi (tanda tangan). Digunakan hanya saat mengunggah bundle eksternal.--encrypted-checksum <encryptedChecksum>Path ke file package.json. Bermanfaat untuk monorepos.--package-json <packageJson>__CAPGO_KEEP_0__--auto-set-bundleSet capacitor.config.json untuk mengatur bundle.--node-modules <nodeModules>Daftar jalur ke direktori node_modules. Berguna untuk proyek monorepo (dipisahkan oleh koma, contoh: ../../node_modules,./node_modules)
⭐️ Opsi eksternal membantu mengaktifkan 2 kasus: perusahaan dengan kekhawatiran privasi, tidak mengirimkan code ke pihak ketiga dan aplikasi yang lebih besar dari 200 MB. Dengan pengaturan ini, Capgo hanya menyimpan tautan ke zip dan mengirimkan tautan ke semua aplikasi.
👀 Capgo cloud tidak pernah melihat apa yang ada di dalam tautan (untuk opsi eksternal), atau di code ketika disimpan.
🔑 Anda dapat menambahkan lapisan keamanan kedua dengan menggunakan enkripsi, maka Capgo tidak akan dapat melihat atau memodifikasi apa pun, menjadi “tidak dipercaya”.
Contoh untuk versi package.json untuk versi
{ "version": "1.0.2"}⛔ Versi harus lebih besar dari “0.0.0”.
💡 Jangan lupa untuk memperbarui nomor versi setiap kali Anda mengirimkan satu, nomor versi tidak dapat diubah atau digunakan kembali setelah dihapus karena alasan keamanan.
Daftar
Judul bagian “Daftar”npx @capgo/cli bundle list [appId]
[appId] ID aplikasi Anda dalam format com.test.app dijelaskan di sini.
Secara opsional, Anda dapat memberikan:
--apikey [key]API kunci untuk menghubungkan ke akun Anda.
Hapus
Judul bagian “Hapus”npx @capgo/cli bundle delete [appId]
[appId] ID aplikasi Anda dalam format com.test.app dijelaskan di sini.
Secara opsional, Anda dapat memberikan:
--apikey [key]API kunci untuk menghubungkan ke akun Anda.--bundledengan nomor versi akan hanya menghapus versi ini.
Pembersihan
Judul bagian “Pembersihan”di rentang SemVer untuk versi mayor ke Cloud
npx @capgo/cli bundle cleanup [appId] --bundle=[majorVersion] --keep=[numberToKeep]
[appId] ID aplikasi Anda dalam format com.test.app dijelaskan di sini.
Anda dapat memberikan secara opsional:
--apikey [key]API kunci untuk menghubungkan ke akun Anda.--bundle [majorVersion]versi yang Anda ingin hapus paket sebelumnya untuk, akan menjaga yang terakhir +numberToKeep.--keep [numberToKeep]jumlah paket yang Anda ingin menjaga (default 4).
Misalnya: Jika Anda memiliki 10 versi dari 10.0.1 hingga 10.0.11, dan Anda menggunakan npx @capgo/cli cleanup [appId] --bundle=10.0.0 Akan menghapus 10.0.1 hingga 10.0.6. 10.0.7 hingga 10.0.11 akan tetap.
Jika Anda memiliki 20 versi total, dan Anda tidak menyediakan nomor paket seperti ini: npx @capgo/cli cleanup [appId] --keep=2 Akan menghapus 18 versi, dan menyimpan 2 versi terakhir.
Perintah ini akan meminta konfirmasi, menampilkan tabel tentang apa yang akan disimpan dan dihapus.
Enkripsi
Judul bagian “Enkripsi”Peringatan: Perintah ini sudah tidak digunakan dan akan dihapus dalam rilis mayor berikutnya. Mohon gunakan sistem enkripsi baru.
npx @capgo/cli bundle encrypt [path/to/zip]
Perintah ini digunakan ketika Anda menggunakan sumber eksternal untuk menyimpan code Anda atau untuk tujuan pengujian.
Anda dapat memberikan secara opsional:
--key [/path/to/my/private_key] path dari kunci pribadi Anda.
--key-data [privateKey] data kunci pribadi, jika Anda ingin menggunakan inline.
Perintah akan mencetak kunci pribadi Anda dan menghasilkan zip yang dienkripsi, untuk digunakan dengan perintah unggah atau dekripsi. ivSessionKeyEnkripsi V2
npx @capgo/cli bundle encrypt [path/to/zip] [checksum]
This command is used when you use external source to store your code or for test purpose. The checksum is the sha256 of the bundle (generated by —key-v2), it is used to verify the integrity of the file after decryption. It will be enncrypted with the private key and sent along with the bundle. In encryption v2 the checksum is upgraded to become a “signature” of the bundle.
path dari kunci pribadi Anda.
--key [/path/to/my/private_key] data kunci pribadi, jika Anda ingin menggunakan inline.
--key-data [privateKey] untuk menampilkan informasi sebagai JSON.
Perintah akan mencetak kunci pribadi Anda dan menghasilkan zip yang dienkripsi, untuk digunakan dengan perintah unggah atau dekripsi.
--json Enkripsi V2 ivSessionKeyJudul bagian “Enkripsi V2”
Mengenkripsi
Judul Bagian “Mengenkripsi”npx @capgo/cli bundle decrypt [path/to/zip] [ivSessionKey]
Anda dapat memberikan secara opsional:
--key [/path/to/my/private_key] path dari kunci pribadi Anda.
--key-data [privateKey] data kunci pribadi, jika Anda ingin menggunakan inline. Perintah ini digunakan terutama untuk tujuan tes, akan mengenkripsi zip dan mencetak kunci sesi base64 yang dienkripsi di konsol.
Mengenkripsi V2
Judul Bagian “Mengenkripsi V2”npx @capgo/cli bundle decryptV2 [path/to/zip] [ivSessionKey]
Anda dapat memberikan secara opsional:
--key [/path/to/my/private_key] path dari kunci pribadi Anda.
--key-data [privateKey] data kunci pribadi, jika Anda ingin menggunakan inline. Perintah ini digunakan terutama untuk tujuan tes, akan mengenkripsi zip dan mencetak kunci sesi base64 yang dienkripsi di konsol.
--checksum [checksum] checksum dari file, akan memverifikasi checksum setelah pengenkripsian.
npx @capgo/cli bundle zip [appId]
[appId] ID aplikasi Anda, formatnya dijelaskan di sini.
Jika perlu, Anda dapat memberikan:
--path [/path/to/my/bundle]untuk mengunggah folder tertentu.--bundle [1.0.0]untuk menetapkan nomor versi bundel dalam nama file.--name [myapp]untuk mengganti nama file.--jsonuntuk menampilkan informasi dalam format JSON.--no-code-checkuntuk mengabaikan pengecekan code dan mengirimkan bundel secara langsung.--key-v2untuk menggunakan sistem enkripsi baru. Ini diperlukan karena sistem enkripsi baru menggunakan checksum yang lebih baik untuk memverifikasi integritas file.
Kemampuan Kompatibilitas
Bagian berjudul “Kemampuan Kompatibilitas”npx @capgo/cli bundle compatibility [appId] -c [channelId]
[appId] ID aplikasi Anda, formatnya dijelaskan di sini di sini.
[channelId] Nama saluran baru Anda.
Jika diinginkan, Anda dapat memberikan:
--apikey [key]API kunci untuk menghubungkan ke akun Anda.--textGunakan teks daripada emoji di tabel--channel [channel]Saluran untuk memeriksa konsistensi dengan.--package-json <packageJson>Jalur ke file package.json. Berguna untuk monorepos--node-modules <nodeModules>Daftar jalur ke node_modules. Berguna untuk monorepos (dipisahkan koma, contoh: ../../node_modules,./node_modules)
Saluran
Judul bagian “Saluran”Tambah
Bagian berjudul “Tambah”npx @capgo/cli channel add [channelId] [appId]
[channelId] nama saluran baru Anda. [appId] ID aplikasi Anda dalam format com.test.app dijelaskan di sini.
npx @capgo/cli channel delete [channelId] [appId]
[channelId] nama saluran yang ingin Anda hapus. [appId] ID aplikasi Anda dalam format com.test.app dijelaskan di sini.
Daftar
Daftarnpx @capgo/cli channel list [appId]
[appId] masukkan ID aplikasi Anda dalam format com.test.app dijelaskan di sini.
Anda dapat memberikan secara opsional:
--apikey [key]API untuk menghubungkan ke akun Anda.
Atur
Aturnpx @capgo/cli channel set [channelId] [appId]
[appId] ID aplikasi Anda, formatnya dijelaskan di sini.
Anda dapat memberikan secara opsional:
--bundle [1.2.3]aplikasi bundel Anda sudah dikirim ke cloud, untuk menghubungkannya ke saluran.--latestmendapatkan versi paket daripackage.json:version, tidak dapat digunakan bersama--bundle.--state [ normal | default ]menetapkan status saluran, dapatnormalataudefault. Satu saluran perlu untukdefault.--downgrademencegah saluran untuk mengirimkan versi turun ke perangkat.--no-downgrademencegah saluran untuk mengirimkan versi turun ke perangkat.--upgrademengizinkan saluran untuk mengirimkan versi naik (besar) ke perangkat.--no-upgrademencegah saluran untuk mengirimkan versi naik (besar) ke perangkat.--iosmengizinkan saluran untuk mengirimkan versi ke perangkat iOS.--no-iosmencegah saluran untuk mengirimkan versi ke perangkat iOS.--androidmengizinkan saluran untuk mengirimkan versi ke perangkat android.--no-androidmencegah saluran untuk mengirimkan versi ke perangkat android.--self-assignmengizinkan perangkat untuk menetapkan diri sendiri ke saluran ini.--no-self-assignmencegah perangkat untuk menetapkan diri sendiri ke saluran ini.--disable-auto-update STRATEGYNonaktifkan strategi pembaruan otomatis untuk saluran ini. Pilihan yang mungkin adalah: major, minor, metadata, none.--apikey [key]API untuk menghubungkan ke akun Anda.
Nonaktifkan strategi pembaruan.
Judul bagian “Nonaktifkan strategi pembaruan”Ada beberapa cara untuk mengatasi nonaktifkan pembaruan untuk versi yang terlalu tua.
Capgo tidak dapat memperbarui native code sehingga pembaruan dari versi dengan native code yang lama ke versi dengan native code yang diperbarui tidak boleh mungkin.
Ada beberapa cara untuk mencapai itu.
Pertama, strategi. major mencegah pembaruan dari 0.0.0 -> 1.0.0. Angka utama adalah angka yang ditonjolkan (1.0.0 dan 0.0.0).
Kedua adalah strategi. Ini mencegah pembaruan dari minor atau pembaruan dari 0.0.0 -> 1.1.0 ke 1.1.0 PERHATIAN 1.2.0.
Strategi ini tidak mencegah pembaruan dari Ketiga, strategi 0.1.0 -> 1.1.0
Strategi ini ditambahkan ke __CAPGO_KEEP_0__ sebagai mode yang sangat ketat. Tidak disarankan untuk digunakan kecuali Anda paham sepenuhnya bagaimana cara kerjanya.
Untuk menerima pembaruan, kondisi-kondisi berikut harus dipenuhi: patch strategy. It was added into capgo as a very strict mode. It’s not recommended to be used unless you fully understand how it works.
In order for it to accept a update the following conditions must be meet:
- Minornya sama antara versi baru dan versi lama
- Patch versi baru jika lebih besar dari patch versi lama
- Patch versi baru harus lebih besar dari patch versi lama
Berikut adalah contoh skenario mana update diizinkan atau ditolak
- 0.0.311 -> 0.0.314 ✅
- 0.0.0 -> 0.0.314 ✅
- 0.0.316 -> 0.0.314 ❌
- 0.1.312 -> 0.0.314 ❌
- 1.0.312 -> 0.0.314 ❌
Terakhir, strategi yang paling rumit. Strategi. metadata Strategi.
Pertama-tama, Anda perlu tahu bahwa awalnya setelah Anda mengaktifkannya, update akan gagal karena saluran tersebut kekurangan metadata yang diperlukan. Jika saluran kekurangan metadata, Anda akan melihat pesan seperti ini: Tidak dapat menemukan metadata
Jika Anda melihat sesuatu seperti itu, Anda tahu bahwa Anda harus pergi ke bundle saat ini untuk saluran yang gagal dan atur metadata.
kolom
Tabel yang tidak terkonfigurasi misconfigured WILL
Lalu pergi ke saluran yang gagal dan klik pada Bundle numberHal ini akan membawa Anda ke halaman bundle.
Setelah itu isi Minimal update version bidang. Ini haruslah semver.
Jika nilai yang Anda masukkan bukanlah semver, maka Anda akan mendapatkan kesalahan, tetapi jika semuanya berjalan dengan benar Anda harus melihat sesuatu seperti ini:
Sekarang, Anda mungkin tidak ingin mengatur data ini secara manual setiap kali Anda mengupdate. Beruntung, CLI akan mencegah Anda mengirimkan update tanpa metadata ini
Untuk mengunggah bundle dengan benar ketika menggunakan metadata opsi Anda perlu mengirimkan --min-update-version dengan versi semver yang valid. Contohnya seperti ini:
The --min-update-version bukanlah CARA SATU-SATUNYA untuk melakukan konsultasi kompatibilitas.
Ada juga yang bernama --auto-min-update-versionBerikut adalah cara kerjanya.
Pertama, itu mengecek versi yang saat ini diunggah ke channel. Ia mengecek kompatibilitas sama seperti bundle compatibility perintah akan melakukannya.
Kedua, jika versi baru 100% kompatibel maka ia mengambil min_update_version dari versi terbaru di channel.
Jika tidak, maka ia mengatur min_update_version ke nomor bundel versi yang baru saja diunggah.
Anda akan selalu mendapatkan informasi tentang min_update_version ketika menggunakan opsi ini. Ia akan terlihat seperti ini:
Jika versi baru tidak kompatibel, maka harus terlihat seperti ini
Enkripsi Akhir ke Akhir (Tidak Dipercaya)
Judul Bagian “Enkripsi Akhir ke Akhir (Tidak Dipercaya)”Capgo mendukung enkripsi akhir ke akhir, hal ini berarti bahwa bundle Anda (code) dienkripsi sebelum dikirim ke cloud dan dienkripsi pada perangkat. Untuk itu, Anda perlu mengenerate pasangan kunci RSA, Anda dapat menggunakan perintah berikut untuk menggenerate kunci tersebut.
Sistem enkripsi adalah kombinasi dari RSA dan AES, kunci RSA digunakan untuk mengenkripsi kunci AES, dan kunci AES digunakan untuk mengenkripsi file.
Lihat di bawah untuk informasi lebih lanjut tentang sistem enkripsi.
Skema Enkripsi
Buat kunci untuk aplikasi Anda
Judul Bagian “Buat kunci untuk aplikasi Anda”npx @capgo/cli key create
Opsional, Anda dapat memberikan: --force untuk menggantikan kunci yang sudah ada. Perintah ini akan membuat pasang kunci untuk Anda di aplikasi, dan akan meminta Anda untuk menyimpan kunci pribadi di tempat yang aman. Disarankan untuk tidak mengkomit kunci pribadi, dan untuk tidak berbagi dengan siapa pun.
Setelah tes lokal Anda, hapus kunci dari file konfigurasi dan tambahkan di langkah CI dengan
key save
Simpan kunci di konfigurasi aplikasi
Judul bagian “Simpan kunci di konfigurasi aplikasi”npx @capgo/cli key save
Anda dapat memberikan secara opsional:
--key [/path/to/my/public_key] path file kunci publik Anda.
--key-data [publicKey] data kunci publik, jika Anda ingin menggunakan inline. Perintah ini berguna jika Anda mengikuti rekomendasi dan tidak mengkomit kunci di konfigurasi aplikasi.
Integrasi CI
Judul bagian “Integrasi CI”Untuk mengotomatisasi pekerjaan, saya merekomendasikan Anda membuat GitHub melakukan pekerjaan mengirim ke server kami
Aplikasi demo kami
Judul bagian “Aplikasi demo kami”Jangan lupa untuk mengonfigurasi variabel lingkungan CI dengan kunci API Anda