Perintah
Copy sebuah 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 dihidupkan dengan benar.
Inisialisasi
Bagian berjudul “Inisialisasi”npx @capgo/cli@latest init [apikey]
Metode ini ada untuk memandu Anda secara langkah demi langkah.
Metode ini akan menambahkan aplikasi Anda ke Capgo. Selain itu, metode ini akan menambahkan code ke aplikasi Anda untuk memvalidasi update. Begitu juga, metode ini akan membangun aplikasi Anda. Selain itu, metode ini akan mengunggah aplikasi Anda ke Capgo. Dan metode ini akan membantu Anda untuk memeriksa apakah update berfungsi.
npx @capgo/cli login [apikey]
Metode ini ada untuk mengingat Anda apikey untuk Anda.
Optionally Anda dapat memberikan:
--local Ini akan menyimpan API Key Anda di repositori lokal dan mengabaikannya di git. Dokter
Bagian berjudul “Dokter”
Perintah untuk memeriksa apakah Anda sudah terupdate dengan __CAPGO_KEEP_0__ paket.npx @capgo/cli doctor
Perintah untuk memeriksa apakah Anda sudah terupdate dengan Capgo paket.
Perintah ini juga akan berguna untuk melaporkan bug.
Aplikasi
Judul Bagian “Aplikasi”Tambah
Judul Bagian “Tambah”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.
Secara opsional, Anda dapat memberikan:
--icon [/path/to/my/icon]untuk menampilkan ikon kustom di aplikasi web Capgo.--name [test]untuk menampilkan nama kustom dalam daftar.--apikey [key]Kunci API untuk menghubungkan ke akun Anda.--retention [retention]Masa penyimpanan paket aplikasi dalam hari, 0 secara default = tak terbatas.
Contoh dari 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.
Opsional, Anda dapat memberikan:
--icon [/path/to/my/icon]untuk memiliki ikon kustom ditampilkan di Capgo aplikasi web.--name [test]untuk memiliki nama kustom dalam daftar.--retention [retention]periode penyimpanan bundle aplikasi dalam hari, 0 secara default = tak terbatas.--apikey [key]kunci API untuk menghubungkan ke akun Anda.
Daftar
Judul bagian “Daftar”npx @capgo/cli app list [appId]
[appId] ID aplikasi Anda dalam format com.test.app dijelaskan di sini.
Optionally, Anda dapat memberikan:
--apikey [key]kunci API 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.
Secara opsional, Anda dapat memberikan:
--apikey [key]API key untuk menghubungkan ke akun Anda.--bundledengan nomor versi hanya akan menghapus versi ini.
npx @capgo/cli app debug [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.--deviceDengan perangkat spesifik yang ingin Anda debug
Pengaturan
Judul bagian “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 mematikan update otomatis di capacitor-updater, berikan plugins.CapacitorUpdater.autoUpdate dengan --string off.
Anda HARUS memberikan salah satu --string atau --bool!
Pilihan:
--string <string>- menetapkan pengaturan ke sebuah string--bool <true | false>- menetapkan pengaturan ke sebuah boolean
Paket
Judul Bagian “Paket”Unggah
Judul Bagian “Unggah”npx @capgo/cli bundle upload [appId]
[appId] ID aplikasi Anda, formatnya dijelaskan di sini.
Anda dapat memberikan secara opsional:
--apikey <apikey>API kunci untuk menghubungkan ke akun Anda.--path <path>Jalur folder untuk unggah.--channel <channel>Saluran untuk dihubungkan.--external <url>Link ke URL eksternal daripada mengunggah ke Capgo Cloud.--iv-session-key <key>Set IV dan kunci sesi untuk URL bundle eksternal.--s3-endpoint <s3Endpoint>URL endpoint S3. Tidak berfungsi dengan delta upload 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 pribadi (sistem v2).--bundle-urlCetak URL bundle ke stdout.--no-keyLupakan kunci tanda tangan dan kirim update jelas.--no-code-checkLupakan memeriksa jika notifyAppReady() dipanggil di sumber code dan index ada di folder root.--display-iv-sessionTampilkan di konsol IV dan kunci sesi yang digunakan untuk mengenkripsi update.--bundle <bundle>Nomor versi bundle dari 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-checkLupakan periksa metadata (node_modules) saat mengunggah.--ignore-checksum-checkLupakan periksa cek checksum saat mengunggah.--timeout <timeout>Waktu tunggu untuk proses unggah dalam detik.--deltaMengunggah Delta (manifest) file bersamaan dengan bundle penuh.--delta-onlyMengunggah hanya perubahan Delta (manifest), mengabaikan bundle penuh.--no-deltaMenghapus unggahan Delta (manifest) (bermanfaat jika mode aplikasi instan diaktifkan tetapi Anda ingin bundle penuh).autoUpdateMengunggah bundle menggunakan protokol tus.--tusMenggunakan protokol multipart untuk mengunggah data ke S3, Tidak Dianjurkan, gunakan TUS sebaliknya.--multipartChecksum yang dienkripsi (tanda tangan). Digunakan hanya ketika mengunggah bundle eksternal.--encrypted-checksum <encryptedChecksum>Jalur ke file package.json. Bermanfaat untuk monorepos.--package-json <packageJson>Atur bundle di __CAPGO_KEEP_0__.config.json.--auto-set-bundleSet the bundle in capacitor.config.json.--node-modules <nodeModules>⭐️ Opsi eksternal membantu mengaktifkan 2 kasus: perusahaan dengan kekhawatiran privasi, jangan kirimkan __CAPGO_KEEP_0__ ke pihak ketiga dan aplikasi lebih besar dari 200 MB. Dengan pengaturan ini, __CAPGO_KEEP_1__ hanya menyimpan tautan ke zip dan mengirimkan tautan ke semua aplikasi.
👀 code cloud tidak pernah melihat apa yang ada di tautan (untuk opsi eksternal), atau di Capgo ketika disimpan.
👀 Capgo cloud never looks at what is in the link (for external option), or in the code when stored.
🔑 You can add a second layer of security by using encryption, then Capgo will not be able to look or modify anything, it becomes “trustless”.
Contoh dari 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 untuk 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.
Jika Anda ingin, Anda dapat memberikan:
--apikey [key]API kunci untuk menghubungkan ke akun Anda.--bundledengan nomor versi akan hanya menghapus versi ini.
Pembersihan
Judul Bagian “Pembersihan”dalam 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.
Optionally, Anda dapat memberikan:
--apikey [key]API key untuk menghubungkan ke akun Anda.--bundle [majorVersion]versi yang Anda inginkan untuk menghapus paket sebelumnya, akan tetapkan yang terakhir +numberToKeep.--keep [numberToKeep]jumlah paket yang Anda inginkan untuk menahan (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 itu akan menghapus 10.0.1 hingga 10.0.6. 10.0.7 hingga 10.0.11 akan tetap.
Jika Anda memiliki 20 versi secara total, dan Anda tidak menyediakan nomor paket seperti ini: npx @capgo/cli cleanup [appId] --keep=2 Akan menghapus 18 versi, dan menahan 2 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 lagi dan akan dihapus dalam rilis besar 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.
Optionally, Anda dapat memberikan:
--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 y dan menghasilkan zip yang dienkripsi, untuk digunakan dengan perintah unggah atau perintah dekripsi. ivSessionKeyEnkripsi V2
npx @capgo/cli bundle encrypt [path/to/zip] [checksum]
Penggunaan perintah ini dilakukan ketika Anda menggunakan sumber eksternal untuk menyimpan code Anda atau untuk tujuan tes. Checksum adalah sha256 dari bundle (dibuat oleh —key-v2), digunakan untuk memastikan integritas file setelah dekripsi. Checksum akan dienkripsi dengan kunci pribadi dan dikirim bersama dengan bundle. Dalam enkripsi v2, checksum ditingkatkan menjadi “tanda tangan” dari bundle.
Optionally, Anda dapat memberikan:
--key [/path/to/my/private_key] jalan ke kunci pribadi Anda.
--key-data [privateKey] data kunci pribadi, jika Anda ingin menggunakan inline.
--json untuk menghasilkan informasi sebagai JSON.
Perintah akan mencetak y dan menghasilkan zip yang dienkripsi, untuk digunakan dengan perintah unggah atau perintah dekripsi. ivSessionKeyDekripsi
Bagian berjudul “Dekripsi”
Optionally, Anda dapat memberikan:npx @capgo/cli bundle decrypt [path/to/zip] [ivSessionKey]
jalan ke kunci pribadi Anda.
--key [/path/to/my/private_key] data kunci pribadi, jika Anda ingin menggunakan inline. Perintah ini digunakan utamanya untuk tujuan tes, akan mengenkripsi zip dan mencetak kunci sesi yang dienkripsi dalam bentuk base64 di konsol.
--key-data [privateKey] Encrypt V2
V2 Enkripsi
Judul Bagian “V2 Enkripsi”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 secara opsional untuk tujuan pengujian, 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 nomor versi bundle dari nama file.--name [myapp]untuk mengganti nama file.--jsonuntuk menampilkan informasi sebagai JSON.--no-code-checkuntuk mengabaikan pengecekan code dan mengirim bundle 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
Judul bagian “Kemampuan Kompatibilitas”npx @capgo/cli bundle compatibility [appId] -c [channelId]
[appId] ID aplikasi Anda, formatnya dijelaskan di sini.
[channelId] nama channel baru Anda.
Jika perlu, Anda dapat memberikan:
--apikey [key]kunci API untuk menghubungkan ke akun Anda.--textPilih teks alih-alih emoji di tabel--channel [channel]Saluran untuk memeriksa konsultasi 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
Bab berjudul “Saluran”Tambahkan
Bab berjudul “Tambahkan”npx @capgo/cli channel add [channelId] [appId]
[channelId] Nama saluran Anda. [appId] ID aplikasi Anda dalam format com.test.app diuraikan di sini.
Hapus
Judul Bagian “Hapus”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.
Judul Bagian “Daftar”
ID aplikasi Anda dalam formatnpx @capgo/cli channel list [appId]
[appId] dijelaskan di sini com.test.app Jika diinginkan, Anda dapat memberikan: __CAPGO_KEEP_0__.
__CAPGO_KEEP_1__
--apikey [key]Kunci API untuk menghubungkan ke akun Anda.
Tetapkan
Bagian berjudul “Tetapkan”npx @capgo/cli channel set [channelId] [appId]
[appId] adalah ID aplikasi Anda, formatnya dijelaskan di sini.
Jika perlu, Anda dapat memberikan:
--bundle [1.2.3]aplikasi bundel Anda sudah dikirim ke cloud, untuk menghubungkannya ke saluran.--latestambil versi bundel daripackage.json:version, tidak dapat digunakan bersamaan dengan--bundle.--state [ normal | default ]atur status saluran, dapatnormalataudefault. Satu saluran harus dipilihdefault.--downgrademengizinkan saluran untuk mengirimkan versi turun ke perangkat.--no-downgrademenghalangi saluran untuk mengirimkan versi turun ke perangkat.--upgrademengizinkan saluran untuk mengirimkan versi upgrade (besar) ke perangkat.--no-upgrademenghalangi saluran untuk mengirimkan versi upgrade (besar) ke perangkat.--iosmengizinkan saluran untuk mengirimkan versi ke perangkat iOS.--no-iosmenghalangi saluran untuk mengirimkan versi ke perangkat iOS.--androidmengizinkan saluran untuk mengirimkan versi ke perangkat android.--no-androidmenghalangi saluran untuk mengirimkan versi ke perangkat android.--self-assignmengizinkan perangkat untuk menetapkan diri sendiri ke saluran ini.--no-self-assignmenghalangi perangkat untuk menetapkan diri sendiri ke saluran ini.--disable-auto-update STRATEGYNonaktifkan strategi update otomatis untuk saluran ini. Opsi yang mungkin adalah: besar, kecil, metadata, tidak ada.--apikey [key]API kunci untuk menghubungkan ke akun Anda.
Strategi mematikan pembaruan
Judul bagian “Strategi mematikan pembaruan”Ada beberapa cara untuk mengatasi mematikan 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. minor mencegah pembaruan dari 0.0.0 -> 1.1.0 atau pembaruan dari 1.1.0 ke 1.2.0.
PERHATIAN strategi ini tidak mencegah pembaruan dari 0.1.0 -> 1.1.0
Ketiga, strategi ini. patch strategi ini. Strategi ini ditambahkan ke capgo sebagai mode yang sangat ketat. Tidak disarankan untuk digunakan kecuali Anda paham sepenuhnya bagaimana cara kerjanya.
- Untuk menerima pembaruan, kondisi-kondisi berikut harus dipenuhi:
- Majornya sama antara versi baru dan versi lama
- Minornya sama antara versi baru dan versi lama
Patch versi baru jika lebih besar dari patch versi lama
- 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 ❌
Berikut adalah contoh skenario mana pembaruan diperbolehkan atau ditolak metadata Terakhir, strategi yang paling rumit. Strategi ini.
strategi ini. Pertama-tama, Anda perlu tahu bahwa awalnya setelah Anda mengaktifkannya, pembaruan Gagal sebagai saluran karena kurangnya metadata yang diperlukan.
Jika saluran kurang metadata Anda akan melihat pesan seperti ini:
Jika Anda melihat sesuatu seperti ini Anda tahu bahwa Anda harus pergi ke bundle saat ini untuk saluran yang gagal dan atur metadata.
Pertama-tama, tentukan apa saluran yang gagal. Anda bisa melakukannya dengan melihat di misconfigured kolom
Kemudian pergi ke saluran yang gagal dan klik pada Bundle number. Ini harus membawa Anda ke halaman bundle.
Setelah itu isi Minimal update version bidang. Ini harus merupakan semver.
Jika nilai yang Anda masukkan bukan semver maka Anda akan mendapatkan kesalahan, tetapi jika semuanya berjalan dengan benar Anda seharusnya melihat sesuatu seperti ini:
Sekarang, Anda mungkin tidak ingin menetapkan data ini secara manual setiap kali Anda memperbarui. Beruntungnya, CLI akan mencegah Anda mengirimkan pembaruan tanpa metadata ini
Untuk mengunggah bundle dengan benar ketika menggunakan metadata option Anda perlu melewati --min-update-version dengan versi semver yang valid. Sesuatu seperti ini:
The --min-update-version bukan satu-satunya cara untuk melakukan konsistensi.
Ada juga yang bernama --auto-min-update-version. Berikut adalah cara kerjanya.
Pertama, itu memeriksa versi yang saat ini diunggah ke saluran. Ini memeriksa konsistensi sama seperti bundle compatibility perintah.
Kedua, jika versi baru 100% kompatibel maka menggunakannya versi terbaru dari saluran.
Jika tidak, maka mengatur versi minimal ke nomor bundel versi baru yang diunggah. min_update_version Anda akan selalu mendapatkan informasi apa yang versi minimalnya saat menggunakan opsi ini. Ini akan terlihat seperti ini: min_update_version Versi minimal update
Jika versi baru tidak kompatibel maka harus terlihat seperti ini min_update_version Versi minimal update tidak kompatibel
End-to-End encryption (Tidak dipercaya)
End-to-End encryption (Tidak dipercaya)
Bagian berjudul “Enkripsi Akhir ke Akhir (Tidak Dipercaya)”Capgo mendukung enkripsi akhir ke akhir, ini berarti bahwa bundle Anda (code) dienkripsi sebelum dikirim ke cloud dan dienkripsi 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
Bagian berjudul “Buat kunci untuk aplikasi Anda”npx @capgo/cli key create
Jika diinginkan, Anda dapat memberikan: --force untuk menggantikan kunci yang sudah ada. Perintah ini akan membuat pasangan kunci untuk Anda di aplikasi, dan akan meminta Anda untuk menyimpan kunci pribadi di tempat yang aman. Disarankan untuk tidak mengkomit kunci pribadi ke Git, dan tidak berbagi dengan siapa pun.
Setelah melakukan tes lokal, hapus kunci dari file konfigurasi dan tambahkan pada langkah CI dengan
key save
Simpan kunci di konfigurasi aplikasi Anda
Bagian berjudul “Simpan kunci di konfigurasi aplikasi Anda”npx @capgo/cli key save
Jika Anda ingin, Anda dapat memberikan:
--key [/path/to/my/public_key] jalan 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
Bagian berjudul “Pengintegrasian CI”Untuk mengotomatisasi pekerjaan, saya merekomendasikan Anda membuat GitHub melakukan pekerjaan mengirim ke server kami
Aplikasi demo kami
Bagian berjudul “Aplikasi demo kami”Jangan lupa untuk mengonfigurasi variabel lingkungan CI dengan kunci API Anda
Teruskan dari Perintah
Judul Bagian “Teruskan dari Perintah”Jika Anda menggunakan Perintah untuk merencanakan dashboard dan operasi API , hubungkannya dengan API Ringkasan untuk detail implementasi di API Ringkasan, Pendahuluan untuk detail implementasi di Pendahuluan, API Kunci untuk detail implementasi di API Kunci, Perangkat untuk detail implementasi di Perangkat, dan Bundel untuk detail implementasi di Bundel.