Mengelola Kredensial
Copy sebuah prompt pengaturan dengan langkah-langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Kelola kredit pembangunan iOS dan Android Anda secara lokal untuk memudahkan pembangunan cloud.
Ringkasan
Bab berjudul “Ringkasan”Capgo CLI menyimpan kredit pembangunan Anda di mesin Anda – tidak pernah di server Capgo . Dengan default mereka hidup di satu file global , yang dibagikan ke semua proyek Anda. Pass ~/.capgo-credentials/credentials.jsonuntuk menjaganya --local untuk menjaganya per-project di .capgo-credentials.json bukan. Ketika Anda menjalankan build, kreditensi yang disimpan digunakan secara otomatis dan dikirimkan dengan aman ke Capgo, kemudian dihapus setelah build selesai.
Perintah
Judul Bagian “Perintah”Kelola Kredensial Secara Interaktif
Judul Bagian “Kelola Kredensial Secara Interaktif”Cara Termudah untuk Bekerja dengan Kredensial yang Disimpan Anda adalah Manajer Interaktif. Ia membuka TUI (sama yang digunakan) di mana Anda dapat menjelajahi apa yang disimpan, melihat apa yang dikonfigurasi per aplikasi dan platform, mengexport file yang siap digunakan dalam CI/CD, atau menghapus kredensial platform: build init Jendela Terminal .env Salin ke clipboard
bunx @capgo/cli@latest build credentials manage| Opsi | Pengenalan |
|---|---|
--appId <appId> | Aplikasi untuk mengelola (mengajak Anda memilih jika dihilangkan) |
--platform <ios|android> | Platform untuk mengelola (mengajak jika dihilangkan) |
--local | Gunakan per-proyek .capgo-credentials.json daripada file global |
Gunakan perintah skrip tunggal? Gunakan perintah-perintah individu di bawah ini.
Simpan Kredensial
Bab berjudul “Simpan Kredensial”Simpan kredensial pembangunan Anda secara lokal untuk penggunaan otomatis:
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]Perbarui Kredensial
Bab berjudul “Perbarui Kredensial”Perbarui sebagian kredensial yang sudah ada tanpa harus menyediakan semuanya lagi:
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]Kredensial update Perintah menggunakan penyatuan tambahan untuk profil penyediaan — profil baru disatukan dengan profil yang sudah ada. Untuk mengganti seluruh peta profil, tambahkan --overwrite-ios-provisioning-map.
Contoh — tambahkan profil ekstensi ke kredensial yang sudah ada:
bunx @capgo/cli@latest build credentials update \ --platform ios \ --ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"Perintah update menerima opsi yang sama seperti save tetapi semua adalah opsional — hanya bidang yang Anda berikan saja yang diperbarui.
Daftar Kredensial
Bab berjudul “Daftar Kredensial”Lihat kredensial yang disimpan saat ini (kata sandi disembunyikan):
bunx @capgo/cli@latest build credentials list
# List credentials for a specific appbunx @capgo/cli@latest build credentials list --appId com.example.appHapus Kredensial
Bab berjudul “Hapus Kredensial”Hapus kredensial yang disimpan dari mesin lokal Anda:
# Clear all credentialsbunx @capgo/cli@latest build credentials clear
# Clear credentials for a specific app + platformbunx @capgo/cli@latest build credentials clear --appId com.example.app --platform iosMigrasikan Kredensial
Bab yang berjudul “Migrasikan Kredensial”Migrasikan format tunggal profil ke format multi-target baru:
bunx @capgo/cli@latest build credentials migrate --platform iosPerintah migrasi mendeteksi kredensial lama, mengubahnya ke BUILD_PROVISION_PROFILE_BASE64 , dan menghapus kunci legasi. Lihat CAPGO_IOS_PROVISIONING_MAPMigrasi dari Profil Tunggal untuk informasi lebih lanjut. Menyimpan Kredensial iOS
Bab yang berjudul “Menyimpan Kredensial iOS”
Migration from Single ProfileContoh Lengkap
Bab berjudul “Contoh Lengkap”bunx @capgo/cli@latest 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
Bab berjudul “Pilihan iOS”| Opsi | Deskripsi | Wajib |
|---|---|---|
--certificate <path> | Jalur ke file sertifikat .p12 | Ya (rilis) |
--p12-password <password> | Kata sandi untuk sertifikat .p12 | Ya (rilis) |
--ios-provisioning-profile <mapping> | Peta profil pengaturan (bundleId=pathUlangi untuk aplikasi multi-target. Jika hanya satu profil dan tidak ada prefix bundleId, CLI secara otomatis diinfers dari profil. | Ya (rilis) |
--apple-key <path> | Jalur ke file kunci App Store Connect API .p8 | Lihat catatan¹ |
--apple-key-id <id> | App Store Connect API Kunci ID | Lihat catatan¹ |
--apple-issuer-id <id> | App Store Connect API Pengenal ID (UUID) | Lihat catatan¹ |
--apple-team-id <id> | ID Tim App Store Connect | Iya |
--apple-id <email> | Alamat email ID Apple untuk unggah password aplikasi khusus (alternatif dari API kunci) | Lihat catatan² |
--apple-app-specific-password <password> | Password aplikasi khusus (xxxx-xxxx-xxxx-xxxx) | Lihat catatan² |
--apple-app-id <id> | ID Aplikasi App Store Connect numerik (misalnya 1234567890) | Lihat catatan² |
--ios-distribution <mode> | Distribusi mode: app_store (default) atau ad_hoc | Tidak |
--output-upload | aktifkan tautan download sementara selama Capgo untuk artefak build | Tidak (default:) false) |
--output-retention <seconds> | Berapa lama untuk menjaga keluaran build (misalnya 3600s) | Tidak (default:) 3600s) |
--skip-build-number-bump | Lebihkan otomatis nomor build | Tidak |
Bab berjudul “Apa yang Disimpan”
Ketika Anda menyimpan kreditur iOS, __CAPGO_KEEP_0__:When you save iOS credentials, the CLI:
- Mengubahnya ke encoding base64
- Membaca file sertifikat dan profil pengembangan
- Sunting mereka ke
~/.capgo-credentials/credentials.json(atau).capgo-credentials.jsondengan--local) - Menyimpan kata sandi dan ID sebagai teks biasa (hanya file lokal)
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 Kredensial Android
Bab berjudul “Menyimpan Kredensial Android”Contoh Lengkap
Bab berjudul “Contoh Lengkap”bunx @capgo/cli@latest 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.jsonPilihan Android
Bab berjudul “Pilihan Android”| Pilihan | Deskripsi | Wajib |
|---|---|---|
--keystore <path> | Alamat 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 file JSON layanan akun Play Store | Ya (penyerahan) |
Apa yang Disimpan
Bab berjudul “Apa yang Disimpan”Saat Anda menyimpan kredit Android, CLI:
- Membaca file keystore dan JSON service account
- Mengubahnya ke encoding base64
- Menyimpannya di
~/.capgo-credentials/credentials.json(atau).capgo-credentials.jsonDengan--local) - Menyimpan kata sandi dan alias sebagai teks biasa (hanya file lokal)
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
Bab yang berjudul “Menggunakan Kredensial yang Disimpan”Setelah Anda menyimpan kredensial, mereka secara otomatis digunakan ketika Anda membangun:
# Credentials automatically loaded from ~/.capgo-credentials/credentials.jsonbunx @capgo/cli@latest build request com.example.app --platform iosAnda juga dapat menggantikan kredit yang disimpan menggunakan variabel lingkungan:
# Environment variables take precedence over saved credentialsBUILD_CERTIFICATE_BASE64="..." \P12_PASSWORD="different-password" \bunx @capgo/cli@latest build request com.example.app --platform iosUrutan prioritas:
- Variabel lingkungan (prioritas tertinggi)
- Kredit yang disimpan (prioritas kedua)
~/.capgo-credentials/credentials.jsonKredit yang tidak ada (prioritas terendah).capgo-credentials.json) - Menggunakan Kredit yang Disimpan
Bab berjudul “Menggunakan Kredit yang Disimpan”
Daftar kredit yang telah disimpan:__CAPGO_KEEP_0__
bunx @capgo/cli@latest build credentials listContoh hasil:
📋 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/credentials.json
🔒 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
Bab berjudul “Praktik Keamanan Terbaik”Keamanan Penyimpanan Lokal
Bab berjudul “Keamanan Penyimpanan Lokal”-
Izin Akses File
Jendela Terminal # Global credentials directory + filechmod 700 ~/.capgo-credentialschmod 600 ~/.capgo-credentials/credentials.json# Local (per-project) credentials, if you use --localchmod 600 .capgo-credentials.json -
Jangan Pernah Mengkomitasi Kredensial
Jendela terminal # Ignore the per-project credentials file (used with --local)echo ".capgo-credentials.json" >> .gitignoreFile global hidup di direktori rumah Anda, di luar repo.
-
Kredensial Terpisah
- Pakai kredensial yang berbeda untuk pengembangan lokal vs CI/CD
- Rotasi kredensial secara teratur
- Jangan berbagi kredensial antar anggota tim
Penggunaan CI/CD
Bab berjudul “Penggunaan CI/CD”Untuk lingkungan CI/CD, prefer variabel lingkungan atas kredensial yang disimpan.
Ekspor siap pakai .env (direkomendasikan)
Judul bagian “Ekspor siap pakai .env (direkomendasikan)”Sebagai gantinya dari meng-encode ulang setiap file kredit dengan tangan secara manual (lihat di bawah), biarkan build credentials manage menghasilkan file untuk Anda:
bunx @capgo/cli@latest build credentials manage# pick your app → choose "Export to .env"Itu menulis sebuah .env.capgo.<appId>.<platform> file (izin 0600) yang berisi setiap kredit yang disimpan sebagai variabel lingkungan — setiap baris adalah rahasia untuk menambahkan ke penyedia CI/CD Anda. Kedua platform kombinasi secara default; tambahkan --platform ios atau --platform android untuk membatasi ke satu.
Referensi Lengkap Variabel Lingkungan
Bab berjudul “Referensi Lengkap Variabel Lingkungan”CLI membaca variabel lingkungan berikut untuk kredit:
Kredensial iOS:
| Variabel | Deskripsi | Format | Diperlukan |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | Sertifikat P12/PKCS12 untuk code tanda tangan | Base64 | Ya (rilis) |
CAPGO_IOS_PROVISIONING_MAP | Peta JSON ID aplikasi ke data profil pengaturan | String JSON | Ya (rilis) |
P12_PASSWORD | Kata sandi untuk sertifikat P12 | Teks biasa | Opsional |
APPLE_KEY_ID | ID Kunci App Store Connect API | String (misalnya “ABC1234567”) | Lihat catatan¹ |
APPLE_ISSUER_ID | ID Penerbit App Store Connect API | String UUID | Lihat catatan¹ |
APPLE_KEY_CONTENT | Kunci App Store Connect API (.p8 file content) | Base64 | Lihat catatan¹ |
APP_STORE_CONNECT_TEAM_ID | ID Tim Pengembang Apple | String (misalnya “XXXXXXXXXX”) | Ya |
CAPGO_IOS_DISTRIBUTION | Mode distribusi: app_store (default) atau ad_hoc | String | Tidak |
Kredensial Android:
| Variabel | Deskripsi | Format | Wajib |
|---|---|---|---|
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 | Plain text | Ya* |
KEYSTORE_STORE_PASSWORD | Kata sandi untuk file keystore | Plain text | Ya* |
PLAY_CONFIG_JSON | JSON akun layanan Google Play | Base64 | Ya (pengiriman) |
*Jika hanya kata sandi satu yang disediakan, maka akan digunakan untuk kedua-duanya KEYSTORE_KEY_PASSWORD And: dan KEYSTORE_STORE_PASSWORD.
GitHub Actions Example: Contoh Aksi GitHub
Section titled “GitHub Actions Example”: Bagian Judul ‘Contoh Aksi GitHub’name: Cloud Build
on: push: branches: [main]
jobs: build-ios: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: oven-sh/setup-bun@v2 - run: bun install - run: bunx @capgo/cli@latest build request 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: oven-sh/setup-bun@v2 - run: bun install - run: bunx @capgo/cli@latest build request 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 }}Preparing Base64 Values: Mengatur Nilai Base64
Section titled “Preparing Base64 Values”: Bagian Judul ‘Mengatur Nilai Base64’To convert your credential files to base64 for CI/CD secrets: Untuk mengubah file kredit 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:bunx @capgo/cli@latest build credentials save --platform ios \ --ios-provisioning-profile "com.example.app=./profile.mobileprovision" \ # ... other options# Then copy CAPGO_IOS_PROVISIONING_MAP from ~/.capgo-credentials/credentials.json 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
Bab berjudul “Mengapa Variabel Lingkungan Lebih Aman”Metode ini lebih aman karena:
- Rahasia diatur oleh platform CI/CD Anda
- Tidak ada file kredit di runner
- Akses kontrol dan rotasi yang mudah
- Jejak audit untuk penggunaan rahasia
Pengaturan Kredit
Bab berjudul “Pengaturan Kredit”Rotasikan kredit Anda secara teratur:
- iOSMenghasilkan sertifikat baru dan API kunci setiap tahun
- AndroidMengubah kata sandi keystore setiap tahun
- Setelah perubahan timMengganti kunci setiap kali anggota tim meninggalkan
Perbarui kreditensi yang disimpan:
# Re-run save command with new credentialsbunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...Pengaturan
Bagian berjudul “Pengaturan””Tidak ada kreditensi ditemukan”
Bagian berjudul “Tidak Ditemukan Kredensial””Jika proses build mengatakan tidak ditemukan kredensial:
-
Periksa apakah kredensial disimpan:
Jendela terminal bunx @capgo/cli@latest build credentials list -
Simpan kredensial jika hilang:
Jendela terminal bunx @capgo/cli@latest build credentials save --platform ios ... -
Periksa apakah file kredensial ada:
Jendela terminal ls -la ~/.capgo-credentials/credentials.json # globalls -la .capgo-credentials.json # local (--local)
“Ditolak Akses” ketika membaca kredensial
Bagian berjudul “Ditolak Akses” saat membaca kreditensiPemulihan hak akses file:
chmod 600 ~/.capgo-credentials/credentials.json # globalchmod 600 .capgo-credentials.json # localKreditensi tidak digunakan
Bagian berjudul “Kreditensi tidak digunakan”Periksa bahwa platform yang benar telah ditetapkan:
# Make sure --platform matches saved credentialsbunx @capgo/cli@latest build request com.example.app --platform ios # Uses ios credentialsbunx @capgo/cli@latest build request com.example.app --platform android # Uses android credentialsBersihkan dan simpan kembali kreditensi
Bagian berjudul “Bersihkan dan simpan kembali kreditensi”Jika kreditensi tampak rusak:
# Clear all credentialsbunx @capgo/cli@latest build credentials clear
# Save againbunx @capgo/cli@latest build credentials save --platform ios ...Pindah dari Variabel Lingkungan
Bab berjudul “Pindah dari Variabel Lingkungan”Jika Anda saat ini menggunakan variabel lingkungan, Anda dapat memindahkan ke kredit yang disimpan:
-
Ekstrak variabel lingkungan Anda saat ini
Jendela terminal echo $BUILD_CERTIFICATE_BASE64 # Verify they exist -
Kembalikan file base64 ke file asli (jika perlu) Jendela terminal
Salin ke clipboard echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision -
Simpan menggunakan CLI
Jendela terminal bunx @capgo/cli@latest 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 sebelumnya dalam format lama (satu)
BUILD_PROVISION_PROFILE_BASE64, jalankan:Jendela terminal bunx @capgo/cli@latest build credentials migrate --platform iosIni mengubah format profil tunggal ke format
CAPGO_IOS_PROVISIONING_MAPdan menghapus kunci lamaBUILD_PROVISION_PROFILE_BASE64danAPPLE_PROFILE_NAMETest build -
dan
Jendela Terminal bunx @capgo/cli@latest build request com.example.app --platform ios -
Hapus variabel lingkungan (opsional)
Jendela Terminal unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64
Lokasi File
Bab berjudul “Lokasi File”Kredensial disimpan dalam sebuah file JSON tunggal:
- Global (default):
~/.capgo-credentials/credentials.json— terbagi di semua proyek Anda - Local (dengan
--local):.capgo-credentials.jsondalam direktori root project — menggantikan file global untuk project tersebut
File tersebut dibuat secara otomatis pertama kali Anda menyimpan kredit. Tambahkan .capgo-credentials.json ke dalam .gitignore sehingga kredit per-project tidak pernah di-commit.
Membuat Langkah Selanjutnya
Bagian berjudul 'Membuat Langkah Selanjutnya'- Membuat Mulai - Buat build pertama Anda
- Build iOS - Konfigurasi build iOS khusus
- Konfigurasi Bangun Android - Konfigurasi bangun khusus Android
- Pembelajaran context:Halaman/Sektor: Halaman dukungan / halaman dukungan premium atau bagian dukungan di footer. Peran: Judul bagian atau halaman. Dilihat di: halaman support-policy.astro. Kunci pesan `support_policy_troubleshooting_title` (Judul Pembelajaran Dukungan).
- Masalah umum dan solusi
Bantuan?- 📚 Judul bagian “Bantuan?”
- 💬 Petunjuk Pembelajaran
- Masyarakat Discord support@capgo.app
support@__CAPGO_KEEP_0__.app
Teruskan dari Mengelola KredensialIf Anda menggunakan Menangani Kredensial untuk merencanakan otomatisasi CI/CD, hubungkan dengan Capgo Otomatisasi CI/CD untuk alur kerja produk di Capgo Otomatisasi CI/CD, Capgo Bangun Natively untuk alur kerja produk di Capgo Bangun Natively, Capgo Integrasi for the product workflow in Capgo Integrations, untuk alur kerja produk di __CAPGO_KEEP_0__ Integrasi, Integrasi CI/CD GitHub Actions Integration untuk detail implementasi di GitHub Integrasi Aksi.