Penyimpanan Kustom
Salin 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 kebutuhan keamanan khusus, kebutuhan kompatibilitas, atau infrastruktur penyimpanan yang sudah ada.
Ringkasan
Judul bagian “Ringkasan”Penyimpanan kustom di Capgo bekerja dengan mengunggah paket Anda ke lokasi luar 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”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 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 mengatakan Capgo untuk mengacu pada bundle di URL yang ditentukan daripada mengunggahnya ke penyimpanan awan Capgo.
Dengan Enkripsi
Bagian berjudul “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
Bagian berjudul “Integrasi S3”Capgo menyediakan dukungan bawaan untuk penyimpanan Amazon S3 dan layanan penyimpanan S3 yang kompatibel. CLI dapat mengunggah bundle Anda secara otomatis ke S3 dan mengonfigurasi Capgo untuk menggunakan URL S3.
Pilihan Unggah S3
Opsi 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-nameKonfigurasi S3 Selesai
Section titled “Konfigurasi S3 Selesai”Untuk layanan yang kompatibel dengan S3 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
Section titled “Parameter Konfigurasi S3”| Parameter | Deskripsi | Required |
|---|---|---|
--s3-region | Wilayah AWS untuk bucket S3 Anda | Ya |
--s3-apikey | ID kunci akses S3 | Ya |
--s3-apisecret | Kunci rahasia S3 | Ya |
--s3-bucket-name | Nama bucket S3 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 dan Pengamanan Paket
Judul Bagian “Persiapan dan Pengamanan Paket”Ketika menggunakan penyimpanan kustom, terutama dengan pengamanan, Anda perlu mempersiapkan paket Anda dengan benar. Ini melibatkan membuat file zip dan secara opsional mengenkripsinya.
Langkah 1: Buat Paket Zip
Judul Bagian “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 opsi untuk mendapatkan output terstruktur termasuk ceklis.
Opsi Perintah Zip
Bab 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 | Alamat folder untuk mengepak (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 | Lebihkan memeriksa 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 Paket (Opsional)
Bagian berjudul “Langkah 2: Enkripsi Paket (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"The CHECKSUM parameter diperlukan dan harus merupakan cek tanda tangan zip Anda. Anda dapat mendapatkan cek tanda tangan dari output perintah zip (gunakan --json Dengan default, perintah enkripsi akan menggunakan kunci pribadi Anda secara lokal. Anda dapat menentukan kunci kustom menggunakan
atau --key __CAPGO_KEEP_0__ --key-data opsi.
Perintah enkripsi akan mengembalikan nilai __CAPGO_KEEP_0__. ivSessionKey diperlukan untuk unggah atau dekripsi.
Opsi Perintah Enkripsi
Bab berjudul “Opsi Perintah Enkripsi”| Opsi | Deskripsi |
|---|---|
zipPath | Alamat file zip untuk dienkripsi (wajib) |
checksum | Checksum file zip (wajib) - dapatkan dari perintah zip |
--key | Alamat file kunci pribadi yang diatur sendiri (opsional, menggunakan kunci lokal secara default) |
--key-data | Data kunci pribadi secara langsung (opsional) |
--json | Hasil output dalam format JSON |
Contoh Alur Kerja Lengkap
Judul bagian “Contoh Alur Kerja Lengkap”Contoh 1: URL Eksternal dengan Enkripsi
Judul bagian “Contoh 1: URL Eksternal dengan Enkripsi”-
Buat aplikasi Anda:
Jendela terminal npm run build -
Buatlah zip bundle:
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.
-
Daftarkan 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 paket:
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 ini:
Pengawasan Akses
Judul Bagian “Pengawasan Akses”- Pastikan URL penyimpanan Anda dapat diakses oleh pengguna aplikasi 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 dengan aman dan rotasinya secara teratur
- Gunakan HTTPS untuk semua URL bundle (diperlukan untuk aplikasi mobile dan Electron)
Pengawasan
Judul Bagian “Pengawasan”- Monitor akses log untuk mendeteksi pola download yang tidak biasa
- Atur notifikasi untuk download bundle yang gagal
- Audit secara teratur izin penyimpanan Anda
Pengaturan
Judul “Pengaturan”Masalah Umum
Judul “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
Error enkripsi:
- Pastikan
ivSessionKeysama dengan bundle yang dienkripsi - Periksa apakah bundle telah dienkripsi dengan kunci yang benar
- Pastikan penggunaan enkripsi v2 untuk bundle baru
Gagal unggah S3:
- Periksa kembali kredential dan izin S3 Anda
- Periksa kebijakan bucket dan konfigurasi CORS
- Pastikan region yang ditentukan benar
Perintah Debug
Bagian berjudul “Perintah Debug”Periksa status bundle:
npx @capgo/cli@latest app debugVerifikasi integritas bundle:
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 cara pembaruan diterapkan
- Sesuaikan pengaturan Integrasi CI/CD untuk mengotomatisasi 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, Kewenangan untuk detail implementasi di Kewenangan, Scanner Keamanan Capgo untuk alur kerja produk di Scanner Keamanan Capgo Keamanan Capgo untuk alur kerja produk di Keamanan Capgo Pusat Kepercayaan Capgo untuk alur kerja produk di Pusat Kepercayaan Capgo