Perintah
Salin 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 project dihidupkan dengan benar.
npx @capgo/cli@latest init [apikey]
Metode ini ada untuk memandu Anda secara bertahap.
Menggunakan metode ini akan menambahkan aplikasi Anda ke Capgo. Selain itu, 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.
npx @capgo/cli login [apikey]
Metode ini ada untuk mengingat apikey untuk Anda.
Optionally Anda dapat memberikan:
--local Ini akan menyimpan apikey di repositori lokal dan mengabaikannya di git.
Dokter
Bagian berjudul “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 berjudul “Aplikasi”Tambahkan
Judul bagian “Tambahkan”npx @capgo/cli app add [appId]
[appId] ID aplikasi Anda dalam format com.test.app dijelaskan di sini 💡 Semua pilihan akan ditebak dalam konfigurasi Anda jika tidak disediakan..
Jika Anda ingin, Anda dapat memberikan:
untuk menampilkan ikon kustom di aplikasi web __CAPGO_KEEP_0__.
--icon [/path/to/my/icon]to have a custom icon display in Capgo web app.--name [test]__CAPGO_KEEP_0__ kunci untuk menghubungkan ke akun Anda.--apikey [key]API key to link to your account.--retention [retention]Contoh
Contoh capacitor.config.json untuk appId dan AppName, ikon ditebak di folder sumber daya
{ "appId": "ee.forgr.capacitor_go", "appName": "Capgo", "webDir": "dist"}npx @capgo/cli app set [appId]
[appId] apakah ID aplikasi Anda, format dijelaskan di sini.
Jika Anda ingin, Anda dapat memberikan:
--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 aplikasi dalam hari, 0 oleh default = tak terbatas.--apikey [key]API kunci untuk menghubungkan ke akun Anda.
Daftar
Daftarnpx @capgo/cli app list [appId]
[appId] ID aplikasi Anda dalam format com.test.app dijelaskan di sini.
Jika Anda ingin, Anda dapat memberikan:
--apikey [key]API kunci untuk menghubungkan ke akun Anda.
Hapus
Daftarnpx @capgo/cli app delete [appId]
[appId] ID aplikasi Anda dalam format com.test.app dijelaskan di sini.
Jika Anda ingin, Anda dapat memberikan:
--apikey [key]Kunci API untuk menghubungkan ke akun Anda.--bundleHanya versi ini yang akan dihapus.
npx @capgo/cli app debug [appId]
[appId] ID aplikasi Anda dalam format com.test.app dijelaskan di sini.
Bisa juga Anda berikan:
--apikey [key]Kunci API untuk menghubungkan ke akun Anda.--devicedengan perangkat spesifik yang ingin Anda debug
Pengaturan
Bagian berjudul “Pengaturan”npx @capgo/cli app setting [path]
Ubah konfigurasi Capacitor.
[path] - jalur pengaturan yang ingin Anda 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 memberikan salah satu dari --string atau --bool!
Pilihan:
--string <string>- mengatur pengaturan menjadi string--bool <true | false>- mengatur pengaturan menjadi boolean
Bundle
Bagian berjudul “Bundle”Upload
Bagian berjudul “Upload”npx @capgo/cli bundle upload [appId]
[appId] ID aplikasi Anda, formatnya dijelaskan di sini.
Jika Anda ingin, Anda bisa memberikan:
--apikey <apikey>Kunci API untuk menghubungkan ke akun Anda.--path <path>Jalur folder untuk diunggah.--channel <channel>Saluran untuk dihubungkan.--external <url>Hubungkan ke URL eksternal bukan mengunggah ke Capgo Cloud.--iv-session-key <key>Setel IV dan kunci sesi untuk URL bundle eksternal.--s3-endpoint <s3Endpoint>URL endpoint S3. Tidak berfungsi dengan upload delta 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>Jalan khusus untuk kunci tanda tangan publik (sistem v1).--key-data <keyData>Kunci tanda tangan publik (sistem v1).--key-v2 <key>Jalan 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-keyLepaskan kunci tanda tangan dan kirim update jelas.--no-code-checkTidak periksa apakah 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 untuk diunggah.--min-update-version <minUpdateVersion>Versi minimal yang diperlukan untuk memperbarui ke versi ini. Digunakan hanya jika pengaturan auto update diatur ke metadata di channel.--auto-min-update-versionAtur versi update minimal berdasarkan paket native.--ignore-metadata-checkMengabaikan periksa metadata (node_modules) saat mengunggah.--ignore-checksum-checkMengabaikan periksa cek checksum saat mengunggah.--timeout <timeout>Waktu tunggu untuk proses unggah 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 Delta (manifest) (bermanfaat jika mode instant apply diaktifkan tetapi Anda ingin bundle penuh).--tusUpload bundle menggunakan protokol tus.--multipartMenggunakan protokol multipart untuk mengunggah data ke S3, Tidak Aktif, gunakan TUS sebaliknya.--encrypted-checksum <encryptedChecksum>Checksum terenkripsi (tanda tangan). Digunakan hanya ketika mengunggah bundle eksternal.--package-json <packageJson>Jalur ke package.json. Berguna untuk monorepos.--auto-set-bundleTetapkan bundle di capacitor.config.json.--node-modules <nodeModules>Daftar jalur ke node_modules. Berguna untuk monorepos (dipisahkan oleh koma, contoh: ../../node_modules,./node_modules)
⭐️ Opsi eksternal membantu mengaktifkan 2 kasus: perusahaan dengan kekhawatiran privasi, jangan mengirimkan code ke pihak ketiga dan aplikasi lebih besar dari 200 MB. Dengan pengaturan ini, Capgo hanya menyimpan tautan ke zip dan mengirimkan tautan ke semua aplikasi.
👀 Cloud Capgo tidak pernah melihat apa yang ada di tautan (untuk opsi eksternal), atau di code ketika disimpan.
🔑 Anda dapat menambahkan lapisan keamanan kedua dengan menggunakan enkripsi, kemudian 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 penghapusan 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.
Optionally, 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 key untuk menghubungkan ke akun Anda.--bundledengan nomor versi akan hanya menghapus versi ini.
Pembersihan
Bagian berjudul “Pembersihan”di dalam rentang SemVer untuk versi mayor untuk Cloud
npx @capgo/cli bundle cleanup [appId] --bundle=[majorVersion] --keep=[numberToKeep]
[appId] ID aplikasi Anda dalam format com.test.app dijelaskan di sini.
Secara opsional, Anda dapat memberikan:
--apikey [key]Kunci API untuk menghubungkan ke akun Anda.--bundle [majorVersion]versi yang Anda inginkan untuk menghapus paket sebelumnya, maka akan menyimpan yang terakhir +numberToKeep.--keep [numberToKeep]jumlah paket yang Anda inginkan untuk menyimpan (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 maka akan menghapus 10.0.1 hingga 10.0.6. 10.0.7 hingga 10.0.11 akan disimpan.
Jika Anda memiliki 20 versi secara total, dan Anda tidak menyediakan nomor paket seperti ini: npx @capgo/cli cleanup [appId] --keep=2 Maka akan menghapus 18 versi, dan menyimpan 2 versi terakhir.
Perintah ini akan meminta konfirmasi, menampilkan tabel apa yang akan disimpan dan dihapus.
Enkripsi
Bagian berjudul “Enkripsi”Pemberitahuan: Perintah ini sudah tidak digunakan lagi dan akan dihapus dalam rilis utama berikutnya. Silakan 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 tes.
Jika Anda ingin, Anda bisa memberikan:
--key [/path/to/my/private_key] jalan ke kunci pribadi Anda.
--key-data [privateKey] data kunci pribadi Anda, jika Anda ingin menggunakan inline.
Perintah akan mencetak y dan menghasilkan zip yang dienkripsi, untuk digunakan dengan perintah unggah atau perintah dekripsi. ivSessionKeyEnkripsi V2
Bagian berjudul “Enkripsi V2”
Perintah ini digunakan ketika Anda menggunakan sumber eksternal untuk menyimpan __CAPGO_KEEP_0__ Anda atau untuk tujuan tes.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.
Jika Anda ingin, Anda bisa memberikan:
--key [/path/to/my/private_key] rute kunci pribadi Anda.
--key-data [privateKey] data kunci pribadi, jika Anda ingin menggunakan inline.
--json untuk menampilkan info sebagai JSON.
Perintah akan mencetak kunci sesi Anda dan menghasilkan zip yang dienkripsi, untuk digunakan dengan perintah unggah atau perintah dekripsi. ivSessionKeyDekripsi
Bab berjudul “Dekripsi”
Jika diinginkan, Anda dapat memberikan:npx @capgo/cli bundle decrypt [path/to/zip] [ivSessionKey]
rute kunci pribadi Anda.
--key [/path/to/my/private_key] data kunci pribadi, jika Anda ingin menggunakan inline. Perintah ini digunakan terutama untuk tujuan tes, akan mengenkripsi zip dan mencetak kunci sesi yang dienkripsi dalam bentuk base64 di konsol.
--key-data [privateKey] Dekripsi V2
Bab berjudul “Dekripsi V2”
Jika diinginkan, Anda dapat memberikan:npx @capgo/cli bundle decryptV2 [path/to/zip] [ivSessionKey]
rute kunci pribadi Anda.
--key [/path/to/my/private_key] __CAPGO_KEEP_0__
--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 enkripsi.
npx @capgo/cli bundle zip [appId]
[appId] ID aplikasi Anda, formatnya dijelaskan di sini.
Anda dapat memberikan secara opsional:
--path [/path/to/my/bundle]untuk mengunggah folder tertentu.--bundle [1.0.0]untuk menetapkan versi bundle dari nama file.--name [myapp]untuk mengganti nama file.--jsonuntuk menampilkan informasi sebagai JSON.--no-code-checkuntuk mengabaikan code cek dan mengirimkan bundle apa pun.--key-v2untuk menggunakan sistem enkripsi baru. Ini diperlukan karena sistem enkripsi baru menggunakan checksum yang lebih baik untuk memverifikasi integritas file.
Kemampuan Kompatibilitas
Judul bagian “Kemampuan Kompatibilitas”npx @capgo/cli bundle compatibility [appId] -c [channelName]
[appId] ID aplikasi Anda, formatnya dijelaskan di sini.
[channelName] nama saluran untuk dicek.
Dapat disediakan secara opsional:
--apikey [key]API kunci untuk menghubungkan ke akun Anda.--textgunakan teks daripada emoji di tabel--channel [channel]saluran untuk dicek kompatibilitasnya.--package-json <packageJson>Jalur ke file package.json. Berguna untuk monorepos--node-modules <nodeModules>Daftar jalur ke node_modules. Berguna untuk monorepos (dipisahkan oleh koma ex: ../../node_modules,./node_modules)
Saluran
Judul Bagian “Saluran”Tambah
Judul Bagian “Tambah”npx @capgo/cli channel add [channelName] [appId]
[channelName] nama saluran baru Anda, seperti production atau beta. [appId] ID aplikasi Anda dalam format com.test.app dijelaskan di sini.
Hapus
Judul Bagian “Hapus”npx @capgo/cli channel delete [channelName] [appId]
[channelName] nama saluran yang ingin Anda hapus. [appId] ID aplikasi Anda dengan format com.test.app dijelaskan di sini.
Daftar
Judul bagian “Daftar”npx @capgo/cli channel list [appId]
[appId] ID aplikasi Anda dengan format com.test.app dijelaskan di sini.
Jika perlu, Anda dapat memberikan:
--apikey [key]API kunci untuk menghubungkan ke akun Anda.
npx @capgo/cli channel set [channelName] [appId]
[appId] ID aplikasi Anda, formatnya dijelaskan di sini.
[channelName] nama saluran yang ingin Anda konfigurasi, seperti production atau beta.
Optionally, Anda dapat memberikan:
--bundle [1.2.3]aplikasi bundle Anda yang sudah dikirim ke cloud, untuk menghubungkannya dengan saluran.--latestambil versi bundle daripackage.json:version, tidak dapat digunakan bersama--bundle.--state [ normal | default ]atur status saluran, dapatnormalataudefault. Satu saluran harus dipilihdefault.--downgrademengizinkan saluran untuk mengirimkan versi turun ke perangkat.--no-downgrademelarang saluran untuk mengirimkan versi turun ke perangkat.--upgrademengizinkan saluran untuk mengirimkan versi upgrade (besar) ke perangkat.--no-upgrademelarang saluran untuk mengirimkan versi upgrade (besar) ke perangkat.--iosmengizinkan saluran untuk mengirimkan versi ke perangkat iOS.--no-iosmelarang saluran untuk mengirimkan versi ke perangkat iOS.--androidmengizinkan saluran untuk mengirimkan versi ke perangkat android.--no-androidmelarang saluran untuk mengirimkan versi ke perangkat android.--self-assignmengizinkan perangkat untuk menetapkan diri sendiri ke saluran ini.--no-self-assignmelarang perangkat untuk menetapkan diri sendiri ke saluran ini.--disable-auto-update STRATEGYMenghapus strategi update otomatis untuk saluran ini. Opsi-opsi yang mungkin adalah: besar, kecil, patch, metadata, tidak ada.--apikey [key]API kunci untuk menghubungkan ke akun Anda.
Disable updates strategy
Strategi Non-UpdateAda beberapa cara untuk mengatasi penghentian update untuk versi yang terlalu tua.
Capgo tidak dapat memperbarui native code sehingga update 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 update dari baseline native 0.0.0 -> bundle target 1.0.0. Angka utama adalah angka yang ditonjolkan (1.0.0 dan 0.0.0).
Kedua adalah strategi. minor mencegah update ketika bundle target memiliki versi mayor atau minor yang berbeda dengan baseline native perangkat, seperti 0.0.0 -> 1.1.0 atau 1.1.0 -> 1.2.0.
Ketiga, strategi. Ini ditambahkan ke __CAPGO_KEEP_0__ sebagai mode yang sangat ketat. Tidak disarankan untuk digunakan kecuali Anda paham sepenuhnya bagaimana cara kerjanya.
Untuk dapat 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 an update, the following conditions must be met:
- Versi minor sama antara bundle target dan
version_build - Versi patch sama antara bundle target dan
version_build - Hanya versi tambahan yang dapat berbeda, seperti prerelease (
version_build - ) atau metadata bangun (
-beta.2Berikut adalah contoh skenario mana pembaruan diizinkan atau ditolak+build.2)
1.0.0-beta.1 -> 1.0.0-beta.2 diizinkan
- 1.0.0+build.1 -> 1.0.0+build.2 diizinkan
- 1.0.0 -> 1.0.1 ditolak
- 1.0.0 -> 1.1.0 ditolak
- 1.0.0 -> 1.0.1 ditolak
- 1.0.0 -> 2.0.0 diblokir
Penggunaan perbandingan strategi menggunakan dasar native yang dikirim sebagai version_build, bukan bundle yang diunduh saat ini yang dikirim sebagai version_name.
Terakhir, strategi yang paling rumit. Strategi. metadata Pertama-tama, Anda harus tahu bahwa awalnya setelah Anda mengaktifkannya, pembaruan
AKAN gagal karena saluran yang kekurangan metadata yang diperlukan. Jika saluran kekurangan metadata, Anda akan melihat pesan seperti ini:
Tidak dapat menemukan metadata
Pertama-tama, tentukan saluran mana yang gagal. Anda dapat melakukannya dengan melihat di bundle saat ini untuk saluran yang gagal dan atur metadata.
Pertama-tama, Anda harus tahu bahwa awalnya setelah Anda mengaktifkannya, pembaruan misconfigured kolom
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. Hal ini harus berupa semver.
Jika nilai yang Anda masukkan bukan semver 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 memperbarui. Beruntungnya, CLI akan mencegah Anda mengirimkan pembaruan tanpa metadata ini
To properly mengunggah sebuah bundle ketika menggunakan opsi ini, Anda perlu melewati metadata dengan --min-update-version bersama dengan versi semver yang valid. Contohnya seperti ini:
Metode --min-update-version tidaklah satu-satunya cara untuk melakukan konsistensi kompatibilitas.
Ada juga metode --auto-min-update-version. Berikut adalah cara kerjanya.
Pertama, ia memeriksa versi yang sedang diunggah ke saluran. Ia memeriksa konsistensi kompatibilitas sama seperti perintah bundle compatibility akan melakukannya.
Kedua, jika versi baru 100% kompatibel, maka ia mengambil min_update_version dari versi terbaru di saluran.
Jika tidak, maka ia mengatur min_update_version ke bundle nomor versi yang baru diunggah.
Anda akan selalu mendapatkan informasi tentang min_update_version ketika menggunakan opsi ini. Ini 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, yang berarti bahwa bundle Anda (code) dienkripsi sebelum dikirim ke cloud dan dienkripsi kembali pada perangkat. Untuk itu, Anda perlu menghasilkan pasangan kunci RSA, Anda dapat menggunakan perintah berikut untuk menghasilkannya.
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 mengganti 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 ke repository Git, dan tidak berbagi dengan siapa pun.
Setelah melakukan tes lokal, 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
Opsional, Anda dapat memberikan:
--key [/path/to/my/public_key] alamat 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 Anda.
Pengintegrasian CI
Integrasi CiUntuk menghemat waktu Anda, saya merekomendasikan Anda membuat aksi GitHub melakukan pekerjaan mengirimkan ke server kami
Aplikasi Demo Kami
Bagian berjudul “Aplikasi Demo Kami”Jangan lupa untuk mengonfigurasi variabel lingkungan CI dengan kunci API Anda
Lanjutkan dari Perintah
Bagian berjudul “Lanjutkan dari Perintah”Jika Anda menggunakan Perintah untuk merencanakan dashboard dan operasi API, hubungkannya Ringkasan API untuk detail implementasi di Ringkasan API Pendahuluan untuk detail implementasi di Pendahuluan Kunci API untuk detail implementasi di Kunci API Perangkat untuk detail implementasi di Perangkat, dan Paket untuk detail implementasi di Paket.