Penyimpanan Kustom
Copy sebuah prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Capgo mendukung solusi penyimpanan kustom untuk paket aplikasi Anda, memungkinkan Anda untuk menghosting update Anda di infrastruktur sendiri atau layanan penyimpanan pihak ketiga. Hal ini sangat berguna bagi organisasi dengan persyaratan keamanan tertentu, kebutuhan kompatibilitas, atau infrastruktur penyimpanan yang sudah ada.
Pendahuluan
Bab berjudul “Pendahuluan”Penyimpanan kustom di Capgo bekerja dengan mengunggah paket Anda ke lokasi eksternal dan memberikan Capgo dengan URL untuk mengaksesnya. Capgo SDK akan mengunduh update secara langsung dari lokasi penyimpanan kustom Anda daripada Capgo’s penyimpanan awan default.
Upload URL Luar
Judul Bagian “Upload URL Luar”Metode paling sederhana untuk menggunakan penyimpanan khusus adalah dengan mengunggah bundle Anda ke URL yang dapat diakses publik dan menyediakan URL tersebut kepada Capgo.
Upload URL Luar Dasar
Judul Bagian “Upload URL Luar Dasar”npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zipPerintah ini menginstruksikan Capgo untuk merujuk pada bundle di URL yang ditentukan daripada mengunggahnya ke penyimpanan awan Capgo.
Dengan Enkripsi
Judul Bagian “Dengan Enkripsi”Untuk penyimpanan luar 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 menyediakan dukungan bawaan untuk penyimpanan Amazon S3 dan layanan penyimpanan S3 yang kompatibel. CLI dapat secara otomatis mengunggah bundle Anda ke S3 dan mengonfigurasi Capgo untuk menggunakan URL S3.
Pilihan Unggah S3
Judul Bagian “Pilihan Unggah S3”npx @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-nameKonfigurasi S3 Selesai
Judul Bagian “Konfigurasi S3 Selesai”Untuk layanan S3 yang kompatibel atau endpoint kustom:
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 SSLParameter Konfigurasi S3
Judul Bagian “Parameter Konfigurasi S3”| Parameter | Deskripsi | Diperlukan |
|---|---|---|
--s3-region | Wilayah AWS untuk bucket S3 Anda | Ya |
--s3-apikey | ID Kunci Akses S3 | Ya |
--s3-apisecret | Kunci Sandi S3 | Ya |
--s3-bucket-name | Nama S3 bucket Anda | Ya |
--s3-endpoint | URL endpoint S3 kustom | Tidak |
--s3-port | Port untuk endpoint S3 | Tidak |
--no-s3-ssl | Nonaktifkan SSL untuk unggah S3 | Tidak |
Persiapan Paket dan Enkripsi
Bagian berjudul “Persiapan Paket dan Enkripsi”Saat menggunakan penyimpanan kustom, terutama dengan enkripsi, Anda perlu mempersiapkan paket Anda dengan benar. Ini melibatkan membuat file zip dan secara opsional mengenkripsinya.
Langkah 1: Buat Paket Zip
Bagian berjudul “Langkah 1: Buat Zip Bundle”Pertama-tama, buatlah file zip dari bundle 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.
Pilihan Perintah Zip
Bagian berjudul “Pilihan 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| Pilihan | Deskripsi |
|---|---|
--path | Path ke folder untuk mengompres (default ke webDir dari capacitor.config) |
--bundle | Nomor versi bundle untuk nama file zip |
--name | Nama khusus untuk file zip |
--json | Hasil output dalam format JSON (termasuk ceklis) |
--no-code-check | Lebihkan memeriksa panggilan notifyAppReady() dan file index |
--key-v2 | Pakai enkripsi v2 |
--package-json | Path ke file package.json untuk repositori monorepo (dipisahkan dengan koma) |
Langkah 2: Enkripsi Bundle (Opsional)
Bab 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 cek tanda tangan dari file zip Anda. Anda dapat mendapatkan cek tanda tangan dari output perintah zip (gunakan CHECKSUM option untuk output terstruktur). --json Dengan default, perintah enkripsi akan menggunakan kunci pribadi penandatanganan lokal Anda. Anda dapat menentukan kunci khusus menggunakan
atau --key options. --key-data Perintah enkripsi akan mengembalikan
yang diperlukan untuk unggah atau dekripsi. ivSessionKey Pilihan Perintah Enkripsi
Bagian berjudul “Pilihan Perintah Enkripsi”
Pilihan| Deskripsi | Parameter ini diperlukan dan harus merupakan cek tanda tangan dari file zip Anda. Anda dapat mendapatkan cek tanda tangan dari output perintah zip (gunakan --output untuk output terstruktur). |
|---|---|
zipPath | Rute ke file zip untuk dienkripsi (diperlukan) |
checksum | Checksum dari file zip (diperlukan) - dapatkan dari perintah zip |
--key | Rute khusus untuk kunci tanda tangan pribadi (opsional, menggunakan kunci lokal secara default) |
--key-data | Data kunci tanda tangan pribadi secara langsung (opsional) |
--json | Hasil output dalam format JSON |
Contoh Alur Kerja Lengkap
Judul bagian “Contoh Alur Kerja Lengkap”Contoh 1: URL Luar dengan Enkripsi
Judul Bagian “Contoh 1: URL Luar 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 hasilnya.
ivSessionKeydari hasil output. -
Unggah ke penyimpanan Anda: Unggah file zip terenkripsi 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 S3
Bagian berjudul “Contoh 2: Unggah Langsung 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
Judul Bagian “Konsiderasi Keamanan”Ketika menggunakan penyimpanan kustom, pertimbangkan praktik keamanan ini:
Kontrol Akses
Judul Bagian “Kontrol Akses”- Pastikan URL penyimpanan Anda dapat diakses oleh pengguna aplikasi Anda tetapi tidak dapat ditemukan secara publik
- Gunakan URL yang ditandatangani atau otentikasi berbasis token ketika memungkinkan
- Implementasikan header CORS yang tepat untuk aplikasi berbasis web
Enkripsi
Judul Bagian “Enkripsi”- Selalu enkripsi bundle sensitif menggunakan alat enkripsi Capgo
- Simpan kunci enkripsi secara aman dan rotasinya secara teratur
- Gunakan HTTPS untuk semua URL bundle (diperlukan untuk aplikasi mobile dan Electron)
Pengawasan
Bagian berjudul “Pengawasan”- Monitor log akses untuk mendeteksi pola download tidak biasa
- Atur notifikasi untuk download bundle gagal
- Audit secara teratur izin penyimpanan
Pengaturan
Bagian berjudul “Pengaturan”Masalah Umum
Bagian berjudul “Masalah Umum”Tidak dapat mengunduh bundle:
- Pastikan URL dapat diakses secara publik dan menggunakan HTTPS (diperlukan untuk aplikasi mobile dan Electron)
- Periksa header CORS untuk aplikasi web
- Pastikan format bundle benar
Kesalahan enkripsi:
- Pastikan
ivSessionKeysama dengan bundle yang dienkripsi - Periksa apakah bundle dienkripsi dengan kunci yang benar
- Pastikan menggunakan enkripsi v2 untuk bundle baru
Kegagalan unggah ke S3:
- Pastikan kredential dan izin S3 Anda
- Periksa kebijakan bucket dan konfigurasi CORS
- Pastikan wilayah yang ditentukan benar
Perintah Debug
Bagian berjudul “Perintah Debug”Periksa status bundel:
npx @capgo/cli@latest app debugVerifikasi integritas bundel:
npx @capgo/cli@latest bundle listLangkah-Langkah Selanjutnya
Bagian berjudul “Langkah-Langkah Selanjutnya”- Pelajari tentang Saluran untuk mengelola berbagai lingkungan pengiriman
- Tamu Perilaku Update untuk mengcustomisasi bagaimana pembaruan diterapkan
- Tetapkan Integrasi CI/CD untuk mengotomatisasi alur kerja penyimpanan kustom Anda
__CAPGO_KEEP_0__
Jika Anda menggunakan__CAPGO_KEEP_1__ Penyimpanan Kustom untuk merencanakan keamanan dan keterbatasan, hubungkannya dengan Enkripsi untuk detail implementasi di Enkripsi, Keterbatasan untuk detail implementasi di Keterbatasan, 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.