Mengelola Kredensial
Salin prompt pengaturan dengan langkah-langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Kelola kredit build Anda untuk iOS dan Android secara lokal untuk memudahkan build di awan.
Ringkasan
Judul bagian “Ringkasan”Capgo CLI memungkinkan Anda menyimpan kredit build secara lokal di mesin Anda di .capgo-credentials folder. When you run a build, these credentials are automatically used and sent securely to Capgo’s build servers.
Perintah
Bagian berjudul “Perintah”Simpan Kredensial
Bagian berjudul “Simpan Kredensial”Simpan kredensial pembangunan Anda secara lokal untuk penggunaan otomatis:
npx @capgo/cli build credentials save --platform <ios|android> [options]Perbarui Kredensial
Bagian berjudul “Perbarui Kredensial”Perbarui kredensial yang ada secara sebagian tanpa harus menyediakan semuanya lagi:
npx @capgo/cli build credentials update --platform <ios|android> [options]The update perintah menggunakan metode penggabungan tambahan untuk profil provisioning — profil baru digabungkan dengan profil yang ada. Untuk mengganti seluruh peta profil provisioning, tambahkan Contoh — tambahkan profil ekstensi ke kredit yang ada: Jendela terminal --overwrite-ios-provisioning-map.
Salin ke clipboard
npx @capgo/cli build credentials update \ --platform ios \ --ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"Daftar Kredit save Bagian berjudul “Daftar Kredit”
Salin ke clipboard
TheLihat kunci akun yang disimpan saat ini (kata sandi disembunyikan):
npx @capgo/cli build credentials list
# List credentials for a specific appnpx @capgo/cli build credentials list --appId com.example.appHapus Kunci
Bagian berjudul “Hapus Kunci”Hapus kunci akun dari mesin lokal Anda:
# Clear all credentialsnpx @capgo/cli build credentials clear
# Clear credentials for a specific app + platformnpx @capgo/cli build credentials clear --appId com.example.app --platform iosMigrasi Kunci
Bagian berjudul “Migrasi Kunci”Konversi format tunggal profil ke masa lalu ke format multi-target baru:
npx @capgo/cli build credentials migrate --platform iosPerintah migrate mendeteksi kreditensi lama, mengubahnya ke BUILD_PROVISION_PROFILE_BASE64 , dan menghapus kunci legasi. Lihat CAPGO_IOS_PROVISIONING_MAPMigrasi dari Profil tunggal untuk informasi lebih lanjut. Menghemat Kreditensi iOS
Bagian berjudul “Menghemat Kreditensi iOS”
CatatanContoh Lengkap
Judul Bagian “Contoh Lengkap”npx @capgo/cli build credentials save \ --platform ios \ --certificate ./cert.p12 \ --p12-password "YourP12Password" \ --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \ --apple-key ./AuthKey_ABC1234567.p8 \ --apple-key-id "ABC1234567" \ --apple-issuer-id "00000000-0000-0000-0000-000000000000" \ --apple-team-id "TEAM123456"Pilihan iOS
Judul Bagian “Pilihan iOS”| Pilihan | Deskripsi | Diperlukan |
|---|---|---|
--certificate <path> | Rute ke file sertifikat .p12 | Ya (rilis) |
--p12-password <password> | Kata sandi untuk sertifikat .p12 | Ya (rilis) |
--ios-provisioning-profile <mapping> | Petaan profil provisioning (,). Ulangi untuk aplikasi multi-target. Jika hanya satu profil dan tidak ada prefix bundleId, __CAPGO_KEEP_0__ secara otomatis diinfer dari profil.bundleId=path). Repeatable for multi-target apps. If only one profile and no bundleId prefix, CLI auto-infers from the profile. | Lokasi kunci App Store Connect __CAPGO_KEEP_0__ .p8 |
--apple-key <path> | Path to App Store Connect API .p8 key | ID Kunci App Store Connect __CAPGO_KEEP_0__ |
--apple-key-id <id> | App Store Connect API Key ID | ID Penerbit App Store Connect __CAPGO_KEEP_0__ (UUID) |
--apple-issuer-id <id> | App Store Connect API Issuer ID (UUID) | Lihat catatan¹ |
--apple-team-id <id> | ID Tim App Store Connect | Ya |
--ios-distribution <mode> | Mode Distribusi: app_store (default) atau ad_hoc | Tidak |
--output-upload | Aktifkan tautan download sementara Capgo untuk artefak build | Tidak (default: false) |
--output-retention <seconds> | Berapa lama untuk menjaga output build (misalnya 3600s) | Tidak (default: 3600s) |
--skip-build-number-bump | Lewati peningkatan otomatis nomor build | Tidak |
Apa yang Disimpan
Judul bagian “Apa yang Disimpan”Ketika Anda menyimpan kreditur iOS, CLI:
- Membaca file sertifikat dan profil pengembang
- Mengubahnya ke encoding base64
- Menyimpan kreditur ke
.capgo-credentialsfolder - Mengimpan kata sandi dan ID sebagai teks biasa (file lokal saja)
Struktur file yang disimpan:
{ "ios": { "BUILD_CERTIFICATE_BASE64": "...", "CAPGO_IOS_PROVISIONING_MAP": "{\"com.example.app\":{\"profile\":\"...\",\"name\":\"match AppStore com.example.app\"}}", "APPLE_KEY_CONTENT": "...", "P12_PASSWORD": "...", "APPLE_KEY_ID": "ABC1234567", "APPLE_ISSUER_ID": "...", "APP_STORE_CONNECT_TEAM_ID": "TEAM123456", "CAPGO_IOS_DISTRIBUTION": "app_store" }}Menyimpan Kreditur Android
Bagian berjudul “Menghemat Kredensial Android”Contoh Lengkap
Bagian berjudul “Contoh Lengkap”npx @capgo/cli build credentials save \ --platform android \ --keystore ./release.keystore \ --keystore-alias "my-key-alias" \ --keystore-key-password "KeyPassword123" \ --keystore-store-password "StorePassword123" \ --play-config ./play-store-service-account.jsonOpsi Android
Opsi Android| Opsi | Deskripsi | Diperlukan |
|---|---|---|
--keystore <path> | Jalur ke file .keystore atau .jks | Ya (rilis) |
--keystore-alias <alias> | Alias kunci di keystore | Ya (rilis) |
--keystore-key-password <password> | Kata sandi untuk alias kunci | Ya (rilis) |
--keystore-store-password <password> | Kata sandi untuk keystore | Ya (rilis) |
--play-config <path> | Jalur ke Akun JSON Layanan Toko Play | Ya (pengiriman) |
Apa Yang Disimpan
Bagian berjudul “Apa Yang Disimpan”Ketika Anda menyimpan kredit Android, CLI:
- Membaca file keystore dan akun JSON layanan
- Mengubahnya ke encoding base64
- Menyimpan kredit ke
.capgo-credentialsfolder - Menyimpan kata sandi dan alias sebagai teks biasa (file lokal saja)
Struktur file yang disimpan:
{ "android": { "ANDROID_KEYSTORE_FILE": "...", "PLAY_CONFIG_JSON": "...", "KEYSTORE_KEY_ALIAS": "my-key-alias", "KEYSTORE_KEY_PASSWORD": "...", "KEYSTORE_STORE_PASSWORD": "..." }}}Menggunakan Kredensial yang Disimpan
Judul Bagian “Menggunakan Kredensial yang Disimpan”Setelah Anda menyimpan kredensial, maka mereka akan digunakan secara otomatis ketika Anda membangun:
# Credentials automatically loaded from .capgo-credentials foldernpx @capgo/cli build com.example.app --platform iosAnda juga dapat menggantikan kredensial yang disimpan menggunakan variabel lingkungan:
# Environment variables take precedence over saved credentialsBUILD_CERTIFICATE_BASE64="..." \P12_PASSWORD="different-password" \npx @capgo/cli build com.example.app --platform iosUrutan Prioritas:
- Variabel Lingkungan (prioritas tertinggi)
- Kredensial yang disimpan di
.capgo-credentialsfolder - Tidak ada kredit (prioritas terendah)
Mengamati Kredit yang Disimpan
Bagian berjudul “Mengamati Kredit yang Disimpan”Daftar kredit yang Anda simpan:
npx @capgo/cli build credentials listContoh output:
📋 Saved Build Credentials:
iOS Credentials: ✓ Certificate (base64) ✓ Provisioning Map (JSON) ✓ Apple Key Content (base64) ✓ P12 Password: ******** ✓ Apple Key ID: ABC1234567 ✓ Apple Issuer ID: 00000000-0000-0000-0000-000000000000 ✓ Team ID: TEAM123456
Android Credentials: ✓ Keystore (base64) ✓ Play Store Config (base64) ✓ Keystore Alias: my-key-alias ✓ Key Password: ******** ✓ Store Password: ********
Location: .capgo-credentials/
🔒 These credentials are stored locally on your machine only. When building, they are sent to Capgo but NEVER stored there. They are auto-deleted after build completion.Praktik Keamanan Terbaik
Bagian berjudul “Praktik Keamanan Terbaik”Keamanan Penyimpanan Lokal
Bagian berjudul “Keamanan Penyimpanan Lokal”-
Izin Akses File
Jendela Terminal # Ensure credentials folder is not readable by otherschmod 700 .capgo-credentialschmod 600 .capgo-credentials/* -
Jangan Persembunyikan Kredensial
Jendela Terminal # Add to .gitignoreecho ".capgo-credentials/" >> .gitignore -
Jangan Gunakan Kredensial yang Sama
- Gunakan Kredensial yang Berbeda untuk Pengembangan Lokal vs CI/CD
- Rotasi Kredensial secara Teratur
- Jangan Bagikan Kredensial dengan Anggota Tim
Penggunaan CI/CD
Bagian Judul “Penggunaan CI/CD”Untuk lingkungan CI/CD, prefer variabel lingkungan dibandingkan dengan kredit yang disimpan.
Referensi Variabel Lingkungan Lengkap
Judul “Referensi Variabel Lingkungan Lengkap”The CLI membaca variabel lingkungan berikut untuk kredit:
Kredensial iOS:
| Variabel | Deskripsi | Format | Diperlukan |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | Sertifikat P12/PKCS12 untuk tanda tangan code | Base64 | Ya (rilis) |
CAPGO_IOS_PROVISIONING_MAP | Peta JSON dari ID aplikasi ke data profil pengaturan | String JSON | Ya (rilis) |
P12_PASSWORD | Kata sandi untuk sertifikat P12 | Teks biasa | Opsional |
APPLE_KEY_ID | Kunci ID App Store Connect API | String (misalnya, "ABC1234567") | Lihat catatan¹ |
APPLE_ISSUER_ID | ID Penerbit App Store Connect API | __CAPGO_KEEP_0__ string UUID | Lihat catatan¹ |
APPLE_KEY_CONTENT | Kunci App Store Connect API (konten file .p8) | Base64 | Lihat catatan¹ |
APP_STORE_CONNECT_TEAM_ID | ID Tim Pengembang Apple | String (misalnya, “XXXXXXXXXX”) | Ya |
CAPGO_IOS_DISTRIBUTION | Mode distribusi: app_store atau ad_hoc | String | Tidak |
Kredensial Android:
| __CAPGO_KEEP_0__ | Deskripsi | Format | Diperlukan |
|---|---|---|---|
ANDROID_KEYSTORE_FILE | File keystore untuk menandatangani APK/AAB | Base64 | Ya (rilis) |
KEYSTORE_KEY_ALIAS | Alias kunci di dalam keystore | String | Ya (rilis) |
KEYSTORE_KEY_PASSWORD | Kata sandi untuk alias kunci | Teks biasa | Ya* |
KEYSTORE_STORE_PASSWORD | Kata sandi untuk file keystore | Teks biasa | Ya* |
PLAY_CONFIG_JSON | JSON akun layanan Google Play | Base64 | Ya (pengiriman) |
Jika hanya satu kata sandi yang disediakan, maka akan digunakan untuk kedua-duanya KEYSTORE_KEY_PASSWORD dan KEYSTORE_STORE_PASSWORD.
GitHub Contoh Aksi
Bagian berjudul “GitHub Contoh Aksi”name: Cloud Build
on: push: branches: [main]
jobs: build-ios: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: actions/setup-node@v4 with: node-version: '20' - run: npm install - run: npx @capgo/cli build com.example.app --platform ios env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }} CAPGO_IOS_PROVISIONING_MAP: ${{ secrets.CAPGO_IOS_PROVISIONING_MAP }} P12_PASSWORD: ${{ secrets.P12_PASSWORD }} APPLE_KEY_ID: ${{ secrets.APPLE_KEY_ID }} APPLE_ISSUER_ID: ${{ secrets.APPLE_ISSUER_ID }} APPLE_KEY_CONTENT: ${{ secrets.APPLE_KEY_CONTENT }} APP_STORE_CONNECT_TEAM_ID: ${{ secrets.APP_STORE_CONNECT_TEAM_ID }}
build-android: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: actions/setup-node@v4 with: node-version: '20' - run: npm install - run: npx @capgo/cli build com.example.app --platform android env: CAPGO_TOKEN: ${{ secrets.CAPGO_TOKEN }} ANDROID_KEYSTORE_FILE: ${{ secrets.ANDROID_KEYSTORE_FILE }} KEYSTORE_KEY_ALIAS: ${{ secrets.KEYSTORE_KEY_ALIAS }} KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }} KEYSTORE_STORE_PASSWORD: ${{ secrets.KEYSTORE_STORE_PASSWORD }} PLAY_CONFIG_JSON: ${{ secrets.PLAY_CONFIG_JSON }}Mengatur Nilai Base64
Judul Bagian “Mengatur Nilai Base64”Untuk mengubah file kunci Anda ke base64 untuk rahasia CI/CD:
# iOS Certificate (.p12)base64 -i certificate.p12 | tr -d '\n' > certificate_base64.txt
# iOS Provisioning Profiles — use the CLI to generate CAPGO_IOS_PROVISIONING_MAP:npx @capgo/cli build credentials save --platform ios \ --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \ # ... other options# Then copy CAPGO_IOS_PROVISIONING_MAP from .capgo-credentials to your CI secrets
# iOS App Store Connect Key (.p8)base64 -i AuthKey_XXXXXX.p8 | tr -d '\n' > apple_key_base64.txt
# Android Keystore (.keystore or .jks)base64 -i release.keystore | tr -d '\n' > keystore_base64.txt
# Google Play Service Account JSONbase64 -i play-store-service-account.json | tr -d '\n' > play_config_base64.txtMengapa Variabel Lingkungan Lebih Aman
Bagian berjudul “Mengapa Variabel Lingkungan Lebih Aman”Cara ini lebih aman karena:
- Rahasia-rahasia diatur oleh platform CI/CD Anda
- Tidak ada file kredit di runner
- Pengaturan rotasi dan kontrol akses yang mudah
- Jejak audit untuk penggunaan rahasia
Rotasi Kredit
Bagian berjudul “Rotasi Kredit”Rotasi kredit secara teratur:
- iOS: Buat sertifikat baru dan API kunci setiap tahun
- Android: Ubahlah kata sandi keystore setiap tahun
- Setelah perubahan tim: Rotasi ketika anggota tim meninggalkan
Perbarui kreditensi yang disimpan:
# Re-run save command with new credentialsnpx @capgo/cli build credentials save --platform ios --certificate ./new-cert.p12 ...Pengaturan masalah
Bab berjudul “Pengaturan masalah””Tidak ada kreditensi ditemukan”
Bab berjudul “”Tidak ada kreditensi ditemukan””Jika bangun proyek mengatakan tidak ada kreditensi ditemukan:
-
Cek apakah kreditensi disimpan:
Jendela terminal npx @capgo/cli build credentials list -
Simpan kreditensi jika hilang:
Jendela terminal npx @capgo/cli build credentials save --platform ios ... -
Periksa apakah folder kreditensi ada:
Jendela terminal ls -la .capgo-credentials/
Ditolak akses ketika membaca kreditensi
Bagian berjudul “Ditolak akses ketika membaca kreditensi”Atur hak akses file:
chmod 700 .capgo-credentialschmod 600 .capgo-credentials/*Kredensial tidak digunakan
Bagian berjudul “Kredensial tidak digunakan”Periksa bahwa platform yang benar telah ditentukan:
# Make sure --platform matches saved credentialsnpx @capgo/cli build com.example.app --platform ios # Uses ios credentialsnpx @capgo/cli build com.example.app --platform android # Uses android credentialsHapus dan simpan kembali kredensial
Bagian berjudul “Hapus dan simpan kembali kredensial”Jika kredensial tampak rusak:
# Clear all credentialsnpx @capgo/cli build credentials clear
# Save againnpx @capgo/cli build credentials save --platform ios ...Migrasi dari Variabel Lingkungan
Bagian berjudul “Migrasi dari Variabel Lingkungan”Jika Anda saat ini menggunakan variabel lingkungan, Anda dapat beralih ke kredit yang disimpan:
-
Ekstrak variabel lingkungan Anda saat ini
Jendela terminal echo $BUILD_CERTIFICATE_BASE64 # Verify they exist -
Dekode file base64 kembali ke file asli (jika diperlukan)
Jendela terminal echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision -
Simpan menggunakan CLI
Jendela terminal npx @capgo/cli build credentials save \--platform ios \--certificate ./cert.p12 \--ios-provisioning-profile ./profile.mobileprovision \--p12-password "$P12_PASSWORD" \--apple-key-id "$APPLE_KEY_ID" \--apple-issuer-id "$APPLE_ISSUER_ID" \--apple-team-id "$APP_STORE_CONNECT_TEAM_ID"Jika Anda memiliki kredit yang disimpan dalam format lama (satu
BUILD_PROVISION_PROFILE_BASE64run:Jendela terminal npx @capgo/cli build credentials migrate --platform iosIni mengonversi profil lama ke satu
CAPGO_IOS_PROVISIONING_MAPdan menghapus kunci lamaBUILD_PROVISION_PROFILE_BASE64danAPPLE_PROFILE_NAMEkunci. -
Uji bangunan
Jendela terminal npx @capgo/cli build com.example.app --platform ios -
Hapus variabel lingkungan (opsional)
Jendela Terminal unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64
Lokasi File
Bagian berjudul “Lokasi File”Kredensial disimpan di .capgo-credentials folder:
- macOS/Linux:
.capgo-credentials/(di direktori root proyek atau direktori utama kamu) - Windows:
.capgo-credentials\(di direktori root proyek atau direktori utama kamu)
Folder tersebut akan dibuat secara otomatis ketika kamu menyimpan kredensial untuk pertama kali.
Langkah-Langkah Selanjutnya
Judul Bagian “Langkah-Langkah Selanjutnya”- Mulai - Buat Build Pertama Anda
- Build iOS - Konfigurasi Build iOS
- Build Android - Konfigurasi Build Android
- Pengaturan - Masalah Umum dan Solusi
Memerlukan Bantuan?
Judul Bagian “Memerlukan Bantuan?”- 📚 Petunjuk troubleshooting
- 💬 Komunitas Discord
- 📧 Email: support@capgo.app