Zum Inhalt springen

Benutzerkredenziale verwalten

Verwalten Sie Ihre iOS- und Android-Build-Zertifikate lokal für bequeme Cloud-Builds.

Capgo CLI speichert Ihre Build-Zertifikate auf Ihrem Computer — nie auf Capgo's Servern. Standardmäßig leben sie in einem globalen Datei ~/.capgo-credentials/credentials.json, gemeinsam für alle Ihre Projekte. --local um sie aufzubewahren sie pro Projekt in .capgo-credentials.json anstatt. Wenn Sie einen Build ausführen, werden die gespeicherten Anmeldeinformationen automatisch verwendet und sicher an Capgo gesendet, bevor sie nach Abschluss des Builds gelöscht werden.

Der schnellste Weg, um mit Ihren gespeicherten Krediten zu arbeiten, ist der interaktive Manager. Er öffnet ein TUI (das gleiche wie) build init nutzt, um zu sehen, was gespeichert ist, was pro App und Plattform konfiguriert ist, eine CI/CD-fertige .env Dokument exportieren oder eine Plattform-Kredenzial löschen:

Fenster des Terminal
bunx @capgo/cli@latest build credentials manage
OptionBeschreibung
--appId <appId>App zum Verwalten (fordert Sie auf, wenn nicht angegeben)
--platform <ios|android>Plattform zum Verwalten (erfragt, wenn nicht angegeben)
--localVerwenden Sie das Projekt-spezifische .capgo-credentials.json anstatt das globale Datei

Präferieren Sie ein-einzige, skriptbare Befehle? Verwenden Sie die einzelnen Befehle unten.

Sparen Sie Anmeldeinformationen

Speicherung von Anmeldeinformationen

Speichern Sie Ihre Build-Anmeldeinformationen lokal für automatisches Gebrauch:

Terminal-Fenster
bunx @capgo/cli@latest build credentials save --platform <ios|android> [options]

Aktualisieren Sie Anmeldeinformationen

Aktualisierung der Anmeldeinformationen

Aktualisieren Sie bestehende Anmeldeinformationen ohne alles erneut bereitzustellen:

Terminalfenster
bunx @capgo/cli@latest build credentials update --platform <ios|android> [options]

Die update Befehl verwendet additive Merge für Provisionierungsprofile — neue Profile werden mit bestehenden Profilen kombiniert. Um die gesamte Provisionierungsmap zu ersetzen, fügen Sie --overwrite-ios-provisioning-map.

Beispiel — fügen Sie eine Erweiterungsprofil zu bestehenden Anmeldeinformationen hinzu:

Terminalfenster
bunx @capgo/cli@latest build credentials update \
--platform ios \
--ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"

Der Aktualisierungs-Befehl akzeptiert die gleichen Optionen wie save aber alle sind optional — nur die Felder, die Sie bereitstellen, werden aktualisiert.

Anmeldedaten, die derzeit gespeichert sind (Passwörter werden maskiert):

Terminalfenster
bunx @capgo/cli@latest build credentials list
# List credentials for a specific app
bunx @capgo/cli@latest build credentials list --appId com.example.app

Klare Anmeldeinformationen

Klare Anmeldeinformationen

Abschnitt mit dem Titel „Anmeldedaten löschen“

Terminalfenster
# Clear all credentials
bunx @capgo/cli@latest build credentials clear
# Clear credentials for a specific app + platform
bunx @capgo/cli@latest build credentials clear --appId com.example.app --platform ios

Konvertieren Sie die legacy-Einzelprofil-Format in das neue Multi-Target-Format:

Terminalfenster
bunx @capgo/cli@latest build credentials migrate --platform ios

Die Migrationskommando erkennt alte BUILD_PROVISION_PROFILE_BASE64 Daten, konvertiert sie in CAPGO_IOS_PROVISIONING_MAP, und entfernt die legacy-Schlüssel. Siehe Migration von Single Profile für Details.

Terminalfenster
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"
OptionBeschreibungErforderlich
--certificate <path>Pfad zum .p12-Zertifikat-DateiJa (Release)
--p12-password <password>Passwort für das .p12-ZertifikatJa (Release)
--ios-provisioning-profile <mapping>Zuweisungsprofil-Zuordnung (bundleId=pathWiederholbar für Mehrfachziel-Anwendungen. Wenn nur ein Profil und kein Vorlagename für bundleId, CLI wird automatisch aus dem Profil abgeleitet.Ja (Release)
--apple-key <path>Pfad zur App Store Connect API .p8-SchlüsselSiehe Anmerkung¹
--apple-key-id <id>App Store Connect API Schlüssel-IDSiehe Anmerkung¹
--apple-issuer-id <id>App Store Connect API Zertifikats-ID (UUID)Siehe Anmerkung¹
--apple-team-id <id>App Store Connect Team-IDJa
--apple-id <email>Apple-ID-E-Mail für die Upload von App-spezifischen Passwörtern (Alternative zur API-Schlüssel)Siehe Anmerkung²
--apple-app-specific-password <password>App-spezifisches Passwort (xxxx-xxxx-xxxx-xxxx)Siehe Anmerkung²
--apple-app-id <id>Numerische App Store Connect-App-ID (z.B. 1234567890)Siehe Anmerkung²
--ios-distribution <mode>Verteilungsmodus: app_store (Standard) oder ad_hocNein
--output-uploadErmöglichen Sie einen zeitbegrenzten Capgo-Downloadlink für das Build-ArtifactNein (Standard:) false)
--output-retention <seconds>Wie lange Build-Ausgaben speichern (z.B. 3600s)Nein (Standard:) 3600s)
--skip-build-number-bumpAutomatisches Build-Nummern-inkrement überspringenNein

) erforderlich. Die numerische

Section titled “What Gets Stored”

Wenn Sie iOS-Zugangsdaten speichern, wird der CLI:

  1. Abschnitt mit dem Titel "Was wird gespeichert?"
  2. Wenn Sie iOS-Zertifikate speichern, wird der __CAPGO_KEEP_0__:
  3. Liest die Zertifikats- und Provisioning-Profile-Dateien ~/.capgo-credentials/credentials.json (oder .capgo-credentials.json mit --local)
  4. Speichert Passwörter und IDs als plain text (lokale Dateien nur)

Die gespeicherte Dateiuktur:

{
"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"
}
}
Terminalfenster
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.json
OptionOptionBeschreibung
--keystore <path>Pfad zur .keystore- oder .jks-DateiPfad zum .keystore- oder .jks-Datei
--keystore-alias <alias>Alias des Schlüssels im KeystoreJa (Release)
--keystore-key-password <password>Passwort für den Alias des SchlüsselsJa (Release)
--keystore-store-password <password>Passwort für den KeystoreJa (Release)
--play-config <path>Pfad zur JSON-Datei des Play Store-DienstkontosJa (Einreichung)

Wenn Sie Android-Kredentials speichern, wird der CLI:

  1. Liest den Keystore und die JSON-Datei des Dienstkontos
  2. Konvertiert sie in Base64-Codierung
  3. Sichert sie ab in ~/.capgo-credentials/credentials.json (oder .capgo-credentials.json context --local)
  4. Speichert Passwörter und Alias als plain text (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": "..."
}
}

Sektion mit dem Titel „Mit gespeicherten Anmeldeinformationen“

Terminalfenster
# Credentials automatically loaded from ~/.capgo-credentials/credentials.json
bunx @capgo/cli@latest build request com.example.app --platform ios

Sie können gespeicherte Anmeldeinformationen auch mit Umgebungsvariablen überschreiben:

Terminalfenster
# Environment variables take precedence over saved credentials
BUILD_CERTIFICATE_BASE64="..." \
P12_PASSWORD="different-password" \
bunx @capgo/cli@latest build request com.example.app --platform ios

Prioritätsreihenfolge:

  1. Umgebungsvariablen (höchste Priorität)
  2. Gespeicherte Anmeldeinformationen (~/.capgo-credentials/credentials.json, oder lokale .capgo-credentials.json)
  3. Keine Anmeldeinformationen (niedrigste Priorität)

Gespeicherte Anmeldeinformationen anzeigen

Anschauende gespeicherte Anmeldeinformationen

Liste der gespeicherten Anmeldeinformationen:

Terminalfenster
bunx @capgo/cli@latest build credentials list

Beispiel-Ausgabe:

📋 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.
  1. Dateizugriffsrechte

    Terminal-Fenster
    # Global credentials directory + file
    chmod 700 ~/.capgo-credentials
    chmod 600 ~/.capgo-credentials/credentials.json
    # Local (per-project) credentials, if you use --local
    chmod 600 .capgo-credentials.json
  2. Keine Anmeldeinformationen im Commit speichern

    Terminal-Fenster
    # Ignore the per-project credentials file (used with --local)
    echo ".capgo-credentials.json" >> .gitignore

    Die globale Datei befindet sich in Ihrem Home-Verzeichnis, außerhalb des Repositories.

  3. Separate Anmeldedaten

    • Verwenden Sie unterschiedliche Anmeldedaten für lokale Entwicklung gegenüber CI/CD
    • Rotieren Sie Anmeldedaten regelmäßig
    • Teilen Sie keine Anmeldedaten zwischen Teammitgliedern

Für CI/CD-Umgebungen präferieren Sie Umgebungsvariablen vor gespeicherten Anmeldedaten.

Abschnitt mit dem Titel „Ein exportierbares .env-File erstellen (empfohlen)“

Stattdessen die Basis64-Codierung jedes Credential-Files manuell durchführen (siehe unten) unter), let build credentials manage erstelle das Datei für Sie:

Zwischenablage kopieren
bunx @capgo/cli@latest build credentials manage
# pick your app → choose "Export to .env"

Es schreibt ein .env.capgo.<appId>.<platform> Datei (Rechte) 0600) containing every saved credential as an environment variable — each line is one secret to add to your CI/CD provider. Both platforms are combined by default; add --platform ios or --platform android um auf ein zu beschränken.

Die CLI liest die folgenden Umgebungsvariablen für Anmeldeinformationen:

iOS-Anmeldeinformationen:

VariablenBeschreibungFormatErforderlich
BUILD_CERTIFICATE_BASE64P12/PKCS12-Zertifikat für code-SignierungBase64Ja (Release)
CAPGO_IOS_PROVISIONING_MAPJSON-Karte von Bundle-IDs zu Provisioning-Profile-DatenJSON-StringJa (Release)
P12_PASSWORDPasswort für das P12-ZertifikatFreitextOptional
APPLE_KEY_IDApp Store Connect API-Schlüssel-IDZeichenfolge (z.B. „ABC1234567“)Hinweis siehe ¹
APPLE_ISSUER_IDApp Store Connect API Aussteller-IDUUID-ZeichenfolgeHinweis siehe ¹
APPLE_KEY_CONTENTApp Store Connect API Schlüssel (.p8-Datei-Inhalt)Base64Hinweis siehe ¹
APP_STORE_CONNECT_TEAM_IDApple-Entwickler-Team-IDZeichenfolge (z. B. "XXXXXXXXXX")Ja
CAPGO_IOS_DISTRIBUTIONVerteilungsmodus: app_store (Standardmäßig) oder ad_hocZeichenfolgeNein

Android-Zertifikate:

VariableBeschreibungFormatErforderlich
ANDROID_KEYSTORE_FILEKeystore-Datei für die Signierung von APK/AABBase64Ja (Release)
KEYSTORE_KEY_ALIASAlias des Schlüssels innerhalb des KeystoresZeichenfolgeJa (Release)
KEYSTORE_KEY_PASSWORDPasswort für die Alias-KennungKlartextJa*
KEYSTORE_STORE_PASSWORDPasswort für das Keystore-FileKlartextJa*
PLAY_CONFIG_JSONGoogle Play-Dienstkontoinhalt in JSONBase64Ja (Einreichung)

*Wenn nur ein Passwort bereitgestellt wird, wird es für beide verwendet KEYSTORE_KEY_PASSWORD und KEYSTORE_STORE_PASSWORD.

github/workflows/build.yml
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 }}

Um Ihre Zertifikatsdateien in Base64 für CI/CD-Secrets umzuwandeln:

Terminalfenster
# 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 JSON
base64 -i play-store-service-account.json | tr -d '\n' > play_config_base64.txt

Diese Methode ist sicherer, weil:

  • Geheimnisse werden von Ihrem CI/CD-Plattform verwaltet
  • Keine Credential-Dateien auf Build-Servern
  • Einfache Rotation und Zugriffssteuerung
  • Protokolle für die Verwendung von Geheimnissen

Rotieren Sie Ihre Credentials regelmäßig:

  1. iOS: Jährlich neue Zertifikate und API-Schlüssel generieren
  2. Android: Jährlich die Keystore-Passwörter ändern
  3. : Nach Team-Änderungen: Rotieren, wenn Teammitglieder gehen

: Speicherte Benutzerdaten aktualisieren:

Terminalfenster
# Re-run save command with new credentials
bunx @capgo/cli@latest build credentials save --platform ios --certificate ./new-cert.p12 ...

Keine Zugriffsberechtigungen gefunden

Keine Zugriffsberechtigungen gefunden

If the build says no credentials were found:

  1. Überprüfen Sie, ob Anmeldeinformationen gespeichert sind:

    Terminalfenster
    bunx @capgo/cli@latest build credentials list
  2. Speichere Anmeldeinformationen, wenn fehlend:

    Terminalfenster
    bunx @capgo/cli@latest build credentials save --platform ios ...
  3. Speichern Sie Anmeldeinformationen, wenn sie fehlen:

    Terminalfenster
    ls -la ~/.capgo-credentials/credentials.json # global
    ls -la .capgo-credentials.json # local (--local)

Überprüfen Sie, ob das Anmeldeinformationen-Datei existiert

“Zugriff verweigert” beim Lesen von Anmeldeinformationen

Datei-Rechte einstellen:

Terminalfenster
chmod 600 ~/.capgo-credentials/credentials.json # global
chmod 600 .capgo-credentials.json # local

Nicht verwendete Anmeldedaten

Abschnitt: Nicht verwendete Anmeldedaten

Stellen Sie sicher, dass die richtige Plattform angegeben ist:

Terminalfenster
# Make sure --platform matches saved credentials
bunx @capgo/cli@latest build request com.example.app --platform ios # Uses ios credentials
bunx @capgo/cli@latest build request com.example.app --platform android # Uses android credentials

Löschen und erneut speichern

Abschnitt: Löschen und erneut speichern

Wenn die Anmeldedaten korrupt erscheinen:

Terminalfenster
# Clear all credentials
bunx @capgo/cli@latest build credentials clear
# Save again
bunx @capgo/cli@latest build credentials save --platform ios ...

Migrieren von Umgebungsvariablen

Abschnitt: "Migrieren von Umgebungsvariablen"

Wenn Sie derzeit Umgebungsvariablen verwenden, können Sie auf gespeerte Anmeldeinformationen migrieren:

  1. Ziehen Sie Ihre aktuellen Umgebungsvariablen heraus

    Terminal-Fenster
    echo $BUILD_CERTIFICATE_BASE64 # Verify they exist
  2. Decodieren Sie Base64-Dateien zurück in die Originaldateien (falls notwendig)

    Terminal-Fenster
    echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12
    echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision
  3. Speichern Sie mithilfe von CLI

    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"

    Wenn Sie bereits vorhandene Anmeldeinformationen im alten Format (einzel) BUILD_PROVISION_PROFILE_BASE64), run:

    Terminalfenster
    bunx @capgo/cli@latest build credentials migrate --platform ios

    Dies wandelt das legale Single-Profil in ein CAPGO_IOS_PROVISIONING_MAP entfernt die alte BUILD_PROVISION_PROFILE_BASE64 and APPLE_PROFILE_NAME keys.

  4. Dies wandelt die Legacy-Ein-Profil in ein

    Terminalfenster
    bunx @capgo/cli@latest build request com.example.app --platform ios
  5. Umgebungsvariablen entfernen (optional)

    Terminal-Fenster
    unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64

Die Anmeldedaten werden in einer einzelnen JSON-Datei gespeichert.

  • Global (Standardmäßig): ~/.capgo-credentials/credentials.json — auf allen Projekten gemeinsam
  • Lokal (mit) --local): .capgo-credentials.json in Ihrem Projekt-Ordner — überschreibt die globale Datei für dieses Projekt

Die Datei wird automatisch erstellt, wenn Sie die ersten Anmeldeinformationen speichern. Fügen Sie .capgo-credentials.json zu Ihrem .gitignore so werden die Anmeldeinformationen pro Projekt nie committet.

- Hilfe benötigt?

Benötigen Sie Hilfe?

- Weiter mit der Verwaltung von Anmeldeinformationen

- Weiter mit der Verwaltung von Anmeldeinformationen

Wenn Sie (I shortened the wording while keeping the same meaning) Kredite verwalten um die CI/CD-Automatisierung zu planen, verbinden Sie es mit Capgo CI/CD zur Produktworkflow in Capgo CI/CD, Capgo Native Builds zur Produktworkflow in Capgo Native Builds, Capgo Integrations zur Produktworkflow in Capgo Integrations, CI/CD-Integration zur Implementierungsdetail in CI/CD-Integration, und GitHub Actions-Integration zur Implementierungsdetail in GitHub Actions-Integration.