Credentials verwalten
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses Plugin.
Verwalten Sie Ihre iOS- und Android-Build-Credentials lokal für bequeme Cloud-Builds.
Übersicht
Abschnitt: „Übersicht“Capgo CLI speichert deine Build-Credentials lokal auf deinem Rechner — niemals auf den Servern von Capgo. Standardmäßig liegen sie in einer globalen Datei, ~/.capgo-credentials/credentials.jsondie für alle deine Projekte gilt. Nutze --local um sie zu behalten pro Projekt in einem .capgo-credentials.json stattdessen. Wenn du einen Build startest, werden die gespeicherten Credentials automatisch verwendet, sicher an Capgo gesendet und nach Abschluss des Builds gelöscht.
Credentials interaktiv verwalten
Abschnitt mit dem Titel „Credentials interaktiv verwalten“Der schnellste Weg, mit deinen gespeicherten Credentials zu arbeiten, ist der interaktive Manager. Er öffnet eine TUI (dieselbe, die auch build init verwendet wird), in der du gespeicherte Daten durchsuchen, die Konfiguration pro App und Plattform einsehen, eine CI/CD-fähige .env Datei oder die Credentials einer Plattform löschen:
bunx @capgo/cli@latest build credentials manage| Option | Beschreibung |
|---|---|
--appId <appId> | App zum Verwalten (fragt nach, falls nicht angegeben) |
--platform <ios|android> | Plattform zum Verwalten (wird abgefragt, wenn weggelassen) |
--local | Nutze die projektspezifischen .capgo-credentials.json anstelle der globalen Datei |
Eher Einmalbefehle, die sich skripten lassen? Verwende die einzelnen Befehle unten.
Credentials speichern
Abschnitt mit dem Titel „Credentials speichern“Speichere deine Build-Credentials lokal für die automatische Verwendung:
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]Credentials aktualisieren
Abschnitt mit dem Titel „Credentials aktualisieren“Aktualisiere vorhandene Credentials teilweise, ohne alles erneut anzugeben:
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]Der update Befehl verwendet additiver Merge für Provisioning-Profile – neue Profile werden mit vorhandenen zusammengeführt. Um stattdessen die gesamte Provisioning-Map zu ersetzen, fügen Sie hinzu --overwrite-ios-provisioning-map.
Beispiel – ein Extension-Profil zu vorhandenen Credentials hinzufügen:
bunx @capgo/cli@latest build credentials update \ --platform ios \ --ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"Der update-Befehl akzeptiert dieselben Optionen wie save aber alle sind optional – nur die Felder, die Sie angeben, werden aktualisiert.
Credentials auflisten
Abschnitt mit dem Titel „Credentials auflisten“Aktuell gespeicherte Credentials anzeigen (Passwörter werden maskiert):
bunx @capgo/cli@latest build credentials list
# List credentials for a specific appbunx @capgo/cli@latest build credentials list --appId com.example.appCredentials löschen
Abschnitt „Credentials löschen“Gespeicherte Credentials von deinem lokalen Rechner entfernen:
# 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 iosCredentials migrieren
Abschnitt „Credentials migrieren“Das alte Single-Profile-Format in das neue Multi-Target-Format konvertieren:
bunx @capgo/cli@latest build credentials migrate --platform iosDer migrate-Befehl erkennt alte BUILD_PROVISION_PROFILE_BASE64 Credentials, konvertiert sie zu CAPGO_IOS_PROVISIONING_MAPund entfernt die Legacy-Keys. Siehe Migration vom Single Profile für Details.
iOS-Credentials speichern
Abschnitt mit dem Titel „iOS-Credentials speichern“Vollständiges Beispiel
Abschnitt mit dem Titel „Vollständiges Beispiel“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"iOS-Optionen
Abschnitt mit dem Titel „iOS-Optionen“| Option | Beschreibung | Erforderlich |
|---|---|---|
--certificate <path> | Pfad zur .p12-Zertifikatsdatei | Ja (Release) |
--p12-password <password> | Passwort für das .p12-Zertifikat | Ja (Release) |
--ios-provisioning-profile <mapping> | Provisioning-Profil-Mapping (bundleId=path). Wiederholbar für Multi-Target-Apps. Bei nur einem Profil ohne bundleId-Präfix wird es von CLI automatisch aus dem Profil abgeleitet. | Ja (Release) |
--apple-key <path> | Pfad zum App Store Connect API .p8-Schlüssel | Siehe Hinweis¹ |
--apple-key-id <id> | App Store Connect API Key ID | Siehe Hinweis¹ |
--apple-issuer-id <id> | App Store Connect API Issuer ID (UUID) | Siehe Hinweis¹ |
--apple-team-id <id> | App Store Connect Team-ID | Ja |
--apple-id <email> | Apple-ID-E-Mail für den Upload des app-spezifischen Passworts (Alternative zum API-Key) | Siehe Hinweis² |
--apple-app-specific-password <password> | App-spezifisches Passwort (xxxx-xxxx-xxxx-xxxx) | Siehe Hinweis² |
--apple-app-id <id> | Numerische App Store Connect App-ID (z. B. 1234567890) | Siehe Hinweis² |
--ios-distribution <mode> | Distribution-Modus: app_store (Standard) oder ad_hoc | Nein |
--output-upload | Zeitlich begrenzten Capgo-Download-Link für das Build-Artefakt aktivieren | Nein (Standard: false) |
--output-retention <seconds> | Wie lange Build-Outputs aufbewahrt werden (z. B. 3600s) | Nein (Standard: 3600s) |
--skip-build-number-bump | Automatische Erhöhung der Build-Nummer überspringen | Nein |
Was gespeichert wird
Abschnitt „Was gespeichert wird“Beim Speichern der iOS-Credentials macht CLI Folgendes:
- Liest die Zertifikats- und Provisioning-Profile-Dateien ein
- Konvertiert sie in die Base64-Kodierung
- Speichert sie unter
~/.capgo-credentials/credentials.json(oder.capgo-credentials.jsonmit--local) - Speichert Passwörter und IDs als Klartext (nur lokale Dateien)
Die gespeicherte Dateistruktur:
{ "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" }}Android-Credentials speichern
Abschnitt mit dem Titel „Android-Credentials speichern“Vollständiges Beispiel
Abschnitt mit dem Titel „Vollständiges Beispiel“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.jsonAndroid-Optionen
Abschnitt „Android-Optionen“| Option | Beschreibung | Erforderlich |
|---|---|---|
--keystore <path> | Pfad zur .keystore- oder .jks-Datei | Ja (Release) |
--keystore-alias <alias> | Key-Alias im Keystore | Ja (Release) |
--keystore-key-password <password> | Passwort für den Key-Alias | Ja (Release) |
--keystore-store-password <password> | Passwort für den Keystore | Ja (Release) |
--play-config <path> | Pfad zur Play Store Service-Account-JSON | Ja (Einreichung) |
Was gespeichert wird
Abschnitt „Was gespeichert wird“Wenn Sie Android-Credentials speichern, CLI:
- Liest die Keystore- und Service-Account-JSON-Dateien
- Konvertiert sie in die Base64-Kodierung
- Speichert sie unter
~/.capgo-credentials/credentials.json(oder.capgo-credentials.jsonmit--local) - Speichert Passwörter und Alias als Klartext (nur lokale Dateien)
Die gespeicherte Dateistruktur:
{ "android": { "ANDROID_KEYSTORE_FILE": "...", "PLAY_CONFIG_JSON": "...", "KEYSTORE_KEY_ALIAS": "my-key-alias", "KEYSTORE_KEY_PASSWORD": "...", "KEYSTORE_STORE_PASSWORD": "..." }}Gespeicherte Zugangsdaten verwenden
Section titled “Using Saved Credentials”Sobald Sie Zugangsdaten gespeichert haben, werden sie beim Build automatisch verwendet:
# Credentials automatically loaded from ~/.capgo-credentials/credentials.jsonbunx @capgo/cli@latest build request com.example.app --platform iosSie können gespeicherte Zugangsdaten auch über Umgebungsvariablen überschreiben:
# Environment variables take precedence over saved credentialsBUILD_CERTIFICATE_BASE64="..." \P12_PASSWORD="different-password" \bunx @capgo/cli@latest build request com.example.app --platform iosPrioritätsreihenfolge:
- Umgebungsvariablen (höchste Priorität)
- Gespeicherte Anmeldeinformationen (
~/.capgo-credentials/credentials.json, oder lokal.capgo-credentials.json) - Keine Anmeldeinformationen (niedrigste Priorität)
Gespeicherte Anmeldeinformationen anzeigen
Section titled “Viewing Saved Credentials”Liste der gespeicherten Anmeldeinformationen:
bunx @capgo/cli@latest build credentials listBeispielausgabe:
📋 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.Sicherheits-Best-Practices
Abschnitt mit dem Titel „Security Best Practices“Sicherheit des lokalen Speichers
Abschnitt mit dem Titel „Sicherheit des lokalen Speichers“-
Dateiberechtigungen
Terminalfenster # Global credentials directory + filechmod 700 ~/.capgo-credentialschmod 600 ~/.capgo-credentials/credentials.json# Local (per-project) credentials, if you use --localchmod 600 .capgo-credentials.json -
Credentials niemals committen
Terminalfenster # Ignore the per-project credentials file (used with --local)echo ".capgo-credentials.json" >> .gitignoreDie globale Datei liegt in deinem Home-Verzeichnis, außerhalb des Repos.
-
Credentials trennen
- Nutze unterschiedliche Credentials für lokale Entwicklung vs. CI/CD
- Credentials regelmäßig rotieren
- Credentials nicht im Team teilen
CI/CD-Nutzung
Abschnitt mit dem Titel „CI/CD-Nutzung“Für CI/CD-Umgebungen sollten Umgebungsvariablen bevorzugt werden statt gespeicherter Credentials.
Exportiere eine einsatzbereite .env (empfohlen)
Abschnitt mit dem Titel „Exportiere eine einsatzbereite .env (empfohlen)“Anstatt jede Credential-Datei manuell base64 zu kodieren (siehe unten), lass build credentials manage die Datei für dich erstellen:
bunx @capgo/cli@latest build credentials manage# pick your app → choose "Export to .env"Es schreibt eine .env.capgo.<appId>.<platform> Datei (Berechtigungen 0600) mit allen gespeicherten Credentials als Umgebungsvariablen – jede Zeile entspricht einem Secret für deinen CI/CD-Provider. Standardmäßig werden beide Plattformen kombiniert; füge --platform ios oder --platform android hinzu, um es auf eine zu beschränken.
Vollständige Referenz der Umgebungsvariablen
Abschnitt mit dem Titel „Vollständige Referenz der Umgebungsvariablen“Das CLI liest die folgenden Umgebungsvariablen für die Credentials aus:
iOS-Anmeldedaten:
| Variabel | Beschreibung | Format | Erforderlich |
|---|---|---|---|
BUILD_CERTIFICATE_BASE64 | P12/PKCS12-Zertifikat für das Signing mit code | Base64 | Ja (Release) |
CAPGO_IOS_PROVISIONING_MAP | JSON-Map von Bundle-IDs zu Provisioning-Profil-Daten | JSON-String | Ja (Release) |
P12_PASSWORD | Passwort für das P12-Zertifikat | Klartext | Optional |
APPLE_KEY_ID | App Store Connect API Key ID | String (z. B. „ABC1234567“) | Siehe Hinweis¹ |
APPLE_ISSUER_ID | App Store Connect API Issuer ID | UUID-String | Siehe Hinweis¹ |
APPLE_KEY_CONTENT | App Store Connect API Key (.p8-Dateiinhalt) | Base64 | Siehe Hinweis¹ |
APP_STORE_CONNECT_TEAM_ID | Apple-Developer-Team-ID | String (z. B. „XXXXXXXXXX“) | Ja |
CAPGO_IOS_DISTRIBUTION | Distribution-Modus: app_store (Standard) oder ad_hoc | String | Nein |
Android-Zugangsdaten:
| Variabel | Beschreibung | Format | Erforderlich |
|---|---|---|---|
ANDROID_KEYSTORE_FILE | Keystore-Datei zum Signieren von APK/AAB | Base64 | Ja (Release) |
KEYSTORE_KEY_ALIAS | Key-Alias im Keystore | String | Ja (Release) |
KEYSTORE_KEY_PASSWORD | Passwort für den Key-Alias | Klartext | Ja* |
KEYSTORE_STORE_PASSWORD | Passwort für die Keystore-Datei | Klartext | Ja* |
PLAY_CONFIG_JSON | Google Play Service Account JSON | Base64 | Ja (Einreichung) |
*Wird nur ein Passwort angegeben, wird dieses für beide verwendet KEYSTORE_KEY_PASSWORD und KEYSTORE_STORE_PASSWORD.
GitHub Actions-Beispiel
Abschnitt mit dem Titel „GitHub Actions-Beispiel“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 }}Base64-Werte vorbereiten
Abschnitt mit dem Titel „Base64-Werte vorbereiten“Um deine Credential-Dateien für CI/CD-Secrets in Base64 umzuwandeln:
# 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.txtWarum Umgebungsvariablen sicherer sind
Abschnitt mit dem Titel „Warum Umgebungsvariablen sicherer sind“Dieser Ansatz ist sicherer, weil:
- Secrets werden von deiner CI/CD-Plattform verwaltet
- Keine Credential-Dateien auf den Runnern
- Einfache Rotation und Zugriffskontrolle
- Audit-Logs für die Nutzung von Secrets
Rotation von Credentials
Abschnitt mit dem Titel „Credential Rotation“Rotiere deine Credentials regelmäßig:
- iOS: Generiere jährlich neue Zertifikate und API Keys
- Android: Ändere jährlich die Keystore-Passwörter
- Nach Team-Änderungen: Rotieren, wenn Teammitglieder das Team verlassen
Gespeicherte Credentials aktualisieren:
# Re-run save command with new credentialsbunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...Fehlerbehebung
Abschnitt mit dem Titel „Troubleshooting“„Keine Credentials gefunden“
Abschnitt mit dem Titel „Keine Credentials gefunden“Falls der Build meldet, dass keine Credentials gefunden wurden:
-
Prüfen, ob die Credentials gespeichert sind:
Terminalfenster bunx @capgo/cli@latest build credentials list -
Credentials speichern, falls nicht vorhanden:
Terminalfenster bunx @capgo/cli@latest build credentials save --platform ios ... -
Prüfen, ob die Credentials-Datei existiert:
Terminalfenster ls -la ~/.capgo-credentials/credentials.json # globalls -la .capgo-credentials.json # local (--local)
„Permission denied“ beim Lesen der Credentials
Abschnitt mit dem Titel „‚Permission denied‘ beim Lesen der Credentials“Dateiberechtigungen korrigieren:
chmod 600 ~/.capgo-credentials/credentials.json # globalchmod 600 .capgo-credentials.json # localCredentials werden nicht verwendet
Abschnitt mit dem Titel „Credentials werden nicht verwendet“Stellen Sie sicher, dass die richtige Plattform angegeben ist:
# 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 credentialsCredentials löschen und erneut speichern
Abschnitt mit dem Titel „Credentials löschen und erneut speichern“Falls die Credentials beschädigt zu sein scheinen:
# Clear all credentialsbunx @capgo/cli@latest build credentials clear
# Save againbunx @capgo/cli@latest build credentials save --platform ios ...Migration von Umgebungsvariablen
Abschnitt mit dem Titel „Migration von Umgebungsvariablen“Wenn Sie derzeit Umgebungsvariablen verwenden, können Sie zu gespeicherten Anmeldeinformationen migrieren:
-
Aktuelle Umgebungsvariablen extrahieren
Terminalfenster echo $BUILD_CERTIFICATE_BASE64 # Verify they exist -
Base64-Dateien zurück in die Originaldateien dekodieren (falls nötig)
Terminalfenster echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision -
Mit CLI speichern
Terminalfenster 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"Falls du vorhandene Credentials im alten Format gespeichert hast (einzelne
BUILD_PROVISION_PROFILE_BASE64), führe aus:Terminalfenster bunx @capgo/cli@latest build credentials migrate --platform iosDies wandelt das Legacy-Einzelprofil in ein
CAPGO_IOS_PROVISIONING_MAPum und entfernt die altenBUILD_PROVISION_PROFILE_BASE64undAPPLE_PROFILE_NAMEKeys. -
Build testen
Terminalfenster bunx @capgo/cli@latest build request com.example.app --platform ios -
Umgebungsvariablen entfernen (optional)
Terminalfenster unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64
Speicherort der Datei
Abschnitt mit dem Titel „Speicherort der Datei“Credentials werden in einer einzigen JSON-Datei gespeichert:
- Global (Standard):
~/.capgo-credentials/credentials.json— gilt für alle deine Projekte - Lokal (mit
--local):.capgo-credentials.jsonin deinem Projekt-Root — überschreibt die globale Datei für dieses Projekt
Die Datei wird automatisch erstellt, wenn du zum ersten Mal Credentials speicherst. Füge .capgo-credentials.json in deine .gitignore so werden projektbezogene Credentials niemals committet.
Nächste Schritte
Abschnitt „Nächste Schritte“- Erste Schritte - Erstelle deinen ersten Build
- iOS-Builds - iOS-spezifische Build-Konfiguration
- Android-Builds - Android-spezifische Build-Konfiguration
- Fehlerbehebung - Häufige Probleme und Lösungen
Brauchst du Hilfe?
Abschnitt mit dem Titel „Brauchst du Hilfe?“- 📚 Troubleshooting-Guide
- 💬 Discord-Community
- 📧 E-Mail: support@capgo.app
Weiter mit „Managing Credentials“
Abschnitt mit dem Titel „Weiter mit ‚Managing Credentials‘“Wenn du es nutzt Credentials verwalten um CI/CD-Automatisierung zu planen, verbinde es mit Capgo CI/CD für den Produkt-Workflow in Capgo CI/CD, Capgo Native Builds optimieren für den Produkt-Workflow in Capgo Native Builds, Capgo Integrationen für den Produkt-Workflow in Capgo Integrations, CI/CD-Integration für die Implementierungsdetails in der CI/CD-Integration und GitHub Actions-Integration für die Implementierungsdetails in der GitHub Actions-Integration.