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 kebutuhan keamanan khusus, kebutuhan kompatibilitas, atau infrastruktur penyimpanan yang sudah ada.
Panduan Umum
Judul Bagian: “Pendahuluan”Penyimpanan kustom di Capgo bekerja dengan mengunggah bundle Anda ke lokasi eksternal dan menyediakan Capgo dengan URL untuk mengaksesnya. Capgo SDK akan kemudian mengunduh pembaruan secara langsung dari lokasi penyimpanan kustom Anda daripada penyimpanan awan Capgo secara default.
Upload URL Eksternal
Judul Bagian: “Upload URL Eksternal”Metode termudah untuk menggunakan penyimpanan kustom adalah dengan mengunggah bundle Anda ke URL yang dapat diakses publik dan menyediakan URL tersebut ke Capgo.
Pengunggahan URL Eksternal Dasar
Judul Bagian “Pengunggahan 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 paket di URL yang ditentukan daripada mengunggahnya ke penyimpanan awan Capgo.
Dengan Enkripsi
Judul Bagian “Dengan Enkripsi”Untuk penyimpanan eksternal yang aman, Anda dapat mengenkripsi paket 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 Amazon S3 dan layanan penyimpanan S3 yang kompatibel. CLI dapat secara otomatis mengunggah bundle Anda ke S3 dan mengonfigurasi Capgo untuk menggunakan URL S3.
S3 Upload Options
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 Lengkap
Opsi Konfigurasi S3Untuk layanan penyimpanan 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
Opsi Parameter S3| Parameter | Deskripsi | Diperlukan |
|---|---|---|
--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 | No |
--s3-port | Port untuk endpoint S3 | No |
--no-s3-ssl | Nonaktifkan SSL untuk unggah S3 | No |
Persiapan dan Pengamanan Paket
Judul bagian “Persiapan dan Pengamanan Paket”Ketika menggunakan penyimpanan khusus, terutama dengan pengamanan, Anda perlu mempersiapkan paket Anda dengan benar. Ini melibatkan membuat file zip dan mungkin mengenkripsinya.
Langkah 1: Buat Paket Zip
Judul bagian “Langkah 1: Buat Paket Zip”Pertama, 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 option untuk mendapatkan output terstruktur yang termasuk checksum.
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 | Jalur ke folder untuk diarsipkan (default ke webDir dari capacitor.config) |
--bundle | Nomor versi bundle untuk menamai file zip |
--name | Nama kustom untuk file zip |
--json | Hasil keluaran dalam format JSON (termasuk cekapsum) |
--no-code-check | Lebihkan memeriksa panggilan notifyAppReady() dan file index |
--key-v2 | Pakai enkripsi v2 |
--package-json | Jalur ke file package.json untuk repositori monorepo (dipisahkan 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 cekapsum file zip Anda. Anda dapat mendapatkan cekapsum dari output perintah zip (gunakan CHECKSUM opsi untuk output struktur) --json Langkah 2: Enkripsi Bundle (Opsional)
By default, perintah enkripsi akan menggunakan kunci pribadi tanda tangan lokal Anda. Anda dapat menentukan kunci khusus menggunakan --key atau --key-data atau
Perintah Enkripsi ivSessionKey Bab Perintah Enkripsi
Pilihan
Deskripsi| Jalur ke file zip untuk dienkripsi (wajib) | Checksum file zip (wajib) - dapatkan dari perintah zip |
|---|---|
zipPath | Jalur khusus untuk kunci tanda tangan pribadi (opsional, menggunakan kunci lokal secara default) |
checksum | atau |
--key | atau |
--key-data | Data kunci tanda tangan pribadi secara langsung (opsional) |
--json | Hasil keluaran dalam format JSON |
Bab berjudul “Contoh Alur Kerja Lengkap”
Contoh 1: URL Luar dengan EnkripsiBab berjudul “Contoh 1: URL Luar dengan Enkripsi”
Bangun aplikasi Anda:-
Buat aplikasi Anda:
Jendela terminal npm run build -
Buat file 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 file zip:
Jendela terminal npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2Perhatikan
ivSessionKeyhasil dari output. -
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
Bagian berjudul “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”-
Bangun dan zip:
Tampilan Jendela Terminal npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Enkripsi bundle:
Tampilan Jendela Terminal npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM -
Unggah ke S3 dengan enkripsi:
Tampilan 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
Pertimbangan 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)
Pantauan
Judul Bagian: "Pantauan"- Pantau log akses untuk mendeteksi pola download yang tidak biasa
- Konfigurasi peringatan untuk gagal mengunduh bundle
- Audit penyimpanan secara teratur untuk mengatur izin
Pengaturan
Judul Bagian: "Pengaturan"Masalah Umum
Judul Bagian: "Masalah Umum"Gagal mengunduh bundle:
- Periksa apakah URL dapat diakses secara publik dan menggunakan HTTPS (diperlukan untuk aplikasi mobile dan Electron)
- Periksa header CORS untuk aplikasi web
- Pastikan format bundel benar
Error enkripsi:
- Verifikasi
ivSessionKeycocok dengan bundel yang dienkripsi - Periksa apakah bundel dienkripsi dengan kunci yang benar
- Pastikan penggunaan enkripsi v2 untuk bundel baru
Gagal unggah S3:
- Verifikasi kredential dan izin S3 Anda
- Periksa kebijakan wadah dan konfigurasi CORS
- Pastikan wilayah yang ditentukan benar
Perintah Debug
Bagian berjudul “Perintah Debug”Periksa status paket:
npx @capgo/cli@latest app debugVerifikasi integritas paket:
npx @capgo/cli@latest bundle listLangkah-Langkah Selanjutnya
Bagian berjudul "Langkah-Langkah Selanjutnya"- Belajar tentang Saluran untuk mengelola lingkungan pengembangan yang berbeda
- Kunjungi Perilaku Update Untuk mengatur cara update diterapkan
- Konfigurasi Integrasi CI/CD context: Halaman/area: Capgo Builder / produk halaman cloud native. Peran: Label UI singkat atau item navigasi. Kata kunci pesan `native_build_feature_ci_cd` (Native Build Feature Ci Cd).
Untuk otomatisasi alur penyimpanan kustom Anda
Teruskan dari Penyimpanan KustomJudul bagian “Teruskan dari Penyimpanan Kustom” Jika Anda menggunakan Penyimpanan Kustom untuk merencanakan keamanan dan keterbatasan, hubungkan dengan Enkripsi Kepatuhan untuk detail implementasi di Kepatuhan, Capgo Scanner Keamanan untuk alur produk di Capgo Scanner Keamanan, Capgo Keamanan untuk alur produk di Capgo Keamanan, dan Capgo Pusat Kepercayaan untuk alur produk di Capgo Pusat Kepercayaan.