Penyimpanan Kustom
Copas prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Capgo supports custom storage solutions for your app bundles, allowing you to host your updates on your own infrastructure or third-party storage services. This is particularly useful for organizations with specific security requirements, compliance needs, or existing storage infrastructure.
__CAPGO_KEEP_0__
Judul bagian “Ringkasan”Penyimpanan khusus di Capgo bekerja dengan mengunggah bundle Anda ke lokasi eksternal dan menyediakan Capgo dengan URL untuk mengaksesnya. Capgo SDK akan kemudian mengunduh update secara langsung dari lokasi penyimpanan khusus Anda daripada penyimpanan awan Capgo’s default.
Upload URL Eksternal
Judul bagian “Upload URL Eksternal”Cara termudah untuk menggunakan penyimpanan khusus adalah dengan mengunggah bundle Anda ke URL yang dapat diakses publik dan menyediakan URL tersebut kepada Capgo.
Upload URL Eksternal Dasar
Judul Bagian “Upload URL Eksternal Dasar”npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zipPerintah ini menginstruksikan Capgo untuk mengacu pada bundle di URL yang ditentukan daripada mengunggahnya ke penyimpanan awan Capgo’s.
Dengan Enkripsi
Judul Bagian “Dengan Enkripsi”Untuk penyimpanan eksternal yang aman, Anda dapat mengenkripsi bundle Anda dan menyediakan kunci dekripsi:
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEYIntegrasi S3
Judul Bagian “Integrasi S3”Capgo provides built-in support for Amazon S3 and S3-compatible storage services. The CLI can automatically upload your bundle to S3 and configure Capgo to use the S3 URL.
__CAPGO_KEEP_1__ dapat secara otomatis mengunggah bundle Anda ke S3 dan mengonfigurasi __CAPGO_KEEP_2__ untuk menggunakan URL S3.
Pilihan Unggah S3npx @capgo/cli@latest bundle upload \ --s3-region us-east-1 \ --s3-apikey YOUR_ACCESS_KEY \ --s3-apisecret YOUR_SECRET_KEY \ --s3-bucket-name your-bucket-nameSalin ke clipboard
Konfigurasi S3 LengkapBagian berjudul “Konfigurasi S3 Lengkap”
npx @capgo/cli@latest bundle upload \ --s3-region us-east-1 \ --s3-apikey YOUR_ACCESS_KEY \ --s3-apisecret YOUR_SECRET_KEY \ --s3-endpoint https://s3.your-provider.com \ --s3-bucket-name your-bucket-name \ --s3-port 443 \ --no-s3-ssl # Only if your endpoint doesn't support SSLSalin ke clipboard
Parameter Konfigurasi S3| Parameter | Deskripsi | Wajib |
|---|---|---|
--s3-region | __CAPGO_KEEP_0__ untuk region AWS Anda untuk bucket S3 | Ya |
--s3-apikey | __CAPGO_KEEP_0__ ID kunci akses S3 Anda | Ya |
--s3-apisecret | __CAPGO_KEEP_0__ kunci rahasia S3 Anda | Ya |
--s3-bucket-name | __CAPGO_KEEP_0__ nama bucket S3 Anda | Ya |
--s3-endpoint | __CAPGO_KEEP_0__ URL endpoint S3 kustom Anda | Tidak |
--s3-port | Port untuk endpoint S3 | Tidak |
--no-s3-ssl | Matikan SSL untuk unggah S3 | Tidak |
Persiapan dan Pengamanan Paket
Bab berjudul “Persiapan dan Pengamanan Paket”Saat menggunakan penyimpanan khusus, terutama dengan pengamanan, Anda perlu mempersiapkan paket Anda dengan benar. Hal ini melibatkan pembuatan file zip dan opsionalnya mengenkripsi file tersebut.
Langkah 1: Buat Paket Zip
Bab berjudul “Langkah 1: Buat Paket Zip”Pertama-tama, buatlah file zip dari paket aplikasi Anda:
npx @capgo/cli@latest bundle zip com.example.app --path ./distPerintah zip akan mengembalikan checksum dari file zip. Anda dapat menggunakan checksum ini untuk mengenkripsi file zip jika diperlukan. Gunakan --json untuk mendapatkan output terstruktur termasuk checksum.
Opsi Perintah Zip
Bagian berjudul “Opsi Perintah Zip”npx @capgo/cli@latest bundle zip [appId] \ --path ./dist \ --bundle 1.2.3 \ --name myapp-v1.2.3 \ --json \ --no-code-check \ --key-v2 \ --package-json ../../package.json,./package.json| Opsi | Deskripsi |
|---|---|
--path | Jalur ke folder untuk dizip (default ke webDir dari capacitor.config) |
--bundle | Nomor versi bundel untuk menamai file zip |
--name | Nama kustom untuk file zip |
--json | Hasil output dalam format JSON (termasuk ceklis) |
--no-code-check | Lepaskan pengecekan untuk panggilan notifyAppReady() dan file index |
--key-v2 | Gunakan enkripsi v2 |
--package-json | Jalur ke file package.json untuk repositori monorepos (dipisahkan koma) |
Langkah 2: Enkripsi Bundle (Opsional)
Bagian berjudul “Langkah 2: Enkripsi Bundle (Opsional)”Untuk keamanan yang lebih tinggi, enkripsi bundle zip Anda sebelum mengunggah:
# Using default local keynpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM
# Using custom key filenpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key ./path/to/.capgo_key_v2
# Using key data directlynpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key-data "PRIVATE_KEY_CONTENT"Parameter ini diperlukan dan harus merupakan ceklis dari file zip Anda. Anda dapat mendapatkan ceklis dari output perintah zip (gunakan CHECKSUM option untuk output terstruktur). --json The
Dengan default, perintah enkripsi akan menggunakan kunci pribadi lokal Anda. Anda dapat menentukan kunci khusus menggunakan --key atau --key-data opsi.
Perintah enkripsi akan mengembalikan ivSessionKey yang diperlukan untuk unggah atau dekripsi.
Opsi Perintah Enkripsi
Bagian berjudul “Opsi Perintah Enkripsi”| Opsi | Deskripsi |
|---|---|
zipPath | Jalur ke file zip untuk dienkripsi (wajib) |
checksum | Checksum dari file zip (wajib) - dapatkan dari perintah zip |
--key | Jalur khusus untuk kunci pribadi (opsional, menggunakan kunci lokal secara default) |
--key-data | Data kunci pribadi disampaikan secara langsung (opsional) |
--json | Hasil keluaran dalam format JSON |
Contoh Alur Kerja Lengkap
Bagian berjudul “Contoh Alur Kerja Lengkap”Contoh 1: URL Eksternal dengan Enkripsi
Bagian berjudul “Contoh 1: URL Eksternal dengan Enkripsi”-
Buat aplikasi Anda:
Jendela terminal npm run build -
Buat bundle zip:
Jendela terminal npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3Perhatikan checksum yang dikembalikan oleh perintah ini.
-
Enkripsi bundle:
Jendela terminal npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2Perhatikan
ivSessionKeydari hasilnya. -
Unggah ke penyimpanan Anda: Unggah file zip yang dienkripsi ke layanan hosting Anda.
-
Daftar dengan Capgo:
Jendela Terminal npx @capgo/cli@latest bundle upload \--external https://your-cdn.com/bundles/com.example.app-1.2.3.zip \--iv-session-key IV_SESSION_KEY_FROM_STEP_3
Contoh 2: Unggah Langsung ke S3
Judul Bagian “Contoh 2: Unggah Langsung ke S3”-
Buat aplikasi Anda:
Jendela Terminal npm run build -
Unggah langsung ke S3:
Jendela Terminal npx @capgo/cli@latest bundle upload \--s3-region us-west-2 \--s3-apikey YOUR_ACCESS_KEY \--s3-apisecret YOUR_SECRET_KEY \--s3-bucket-name your-app-bundles \--channel Production
Contoh 3: S3 dengan Enkripsi
Judul Bagian “Contoh 3: S3 dengan Enkripsi”-
Buat dan zip:
Jendela Terminal npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Enkripsi bundle:
Jendela Terminal npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM -
Unggah ke S3 dengan enkripsi:
Jendela Terminal npx @capgo/cli@latest bundle upload \--s3-region us-west-2 \--s3-apikey YOUR_ACCESS_KEY \--s3-apisecret YOUR_SECRET_KEY \--s3-bucket-name your-app-bundles \--iv-session-key IV_SESSION_KEY_FROM_STEP_2 \--channel Production
Konsiderasi Keamanan
Bagian berjudul “Konsiderasi Keamanan”Ketika menggunakan penyimpanan kustom, pertimbangkan praktik keamanan terbaik berikut:
Pengendalian Akses
Bagian berjudul “Pengendalian Akses”- Pastikan URL penyimpanan Anda dapat diakses oleh pengguna aplikasi Anda tetapi tidak dapat ditemukan secara publik
- Pakai URL yang ditandatangani atau otentikasi berbasis token ketika memungkinkan
- Implementasikan header CORS yang tepat untuk aplikasi berbasis web
Enkripsi
Bagian berjudul “Enkripsi”- Selalu enkripsi bundle sensitif menggunakan alat enkripsi Capgo
- Simpan kunci enkripsi dengan aman dan rotasinya secara berkala
- Pakai HTTPS untuk semua URL bundle (diperlukan untuk aplikasi mobile dan Electron)
Mengawasi
Judul Bagian “Mengawasi”- Mengawasi log akses untuk mendeteksi pola download yang tidak biasa
- Konfigurasi peringatan untuk download bundle yang gagal
- Mengaudit secara teratur izin penyimpanan
Pengaturan
Judul Bagian “Pengaturan”Masalah Umum
Judul Bagian “Masalah Umum”Bundle tidak terunduh:
- Pastikan URL dapat diakses secara publik dan menggunakan HTTPS (diperlukan untuk aplikasi mobile dan Electron)
- Cek header CORS untuk aplikasi web
- Pastikan format bundel benar
Error-encryptasi:
- Pastikan
ivSessionKeycocok dengan bundel yang dienkripsi - Periksa apakah bundel telah dienkripsi dengan kunci yang benar
- Pastikan penggunaan enkripsi v2 untuk bundel baru
Gagal unggah ke S3:
- Periksa kredential dan izin S3 Anda
- Periksa kebijakan wadah dan konfigurasi CORS
- Pastikan wilayah yang ditentukan benar
Perintah Debug
Judul Bagian “Perintah Debug”Periksa status bundel:
npx @capgo/cli@latest app debugVerifikasi integritas bundel:
npx @capgo/cli@latest bundle listLangkah-Langkah Berikutnya
Bagian berjudul “Langkah-Langkah Berikutnya”- Pelajari tentang Saluran untuk mengelola berbagai lingkungan pengembangan
- Eksplorasi Perbarui perilaku untuk mengatur bagaimana perbarui diterapkan
- Konfigurasi Pengintegrasian CI/CD untuk otomatisasi alur kerja penyimpanan kustom Anda
Teruskan dari Penyimpanan Kustom
Judul bagian “Teruskan dari Penyimpanan Kustom”Jika Anda menggunakan Penyimpanan Kustom untuk merencanakan keamanan dan kewenangan, hubungkannya dengan Enkripsi untuk detail implementasi di Enkripsi, Kepatuhan untuk detail implementasi di Kepatuhan, Capgo Scanner Keamanan untuk alur kerja produk di Capgo Scanner Keamanan, Capgo Keamanan untuk alur kerja produk di Capgo Keamanan, dan Capgo Pusat Kepercayaan untuk alur kerja produk di Capgo Pusat Kepercayaan.