Zum Inhalt springen

Anmeldeinformationen verwalten

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

Capgo CLI speichert Ihre Build-Zugriffsberechtigungen auf Ihrem Gerät — nie auf Capgo’s Servern. Standardmäßig leben sie in einem globalen Datei ~/.capgo-credentials/credentials.json, --local geteilt mit allen Ihren Projekten. Passen Sie sie an, um sie zu speichern 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) , in dem Sie durch das Gespeicherte browsen können, sehen, was für jede App und Plattform konfiguriert ist, ein CI/CD-fertiges Datei exportieren oder eine Plattform-Kredenziale löschen können: build init Terminal-Fenster .env Zur Zwischenablage kopieren

Automatically deleted after build completion
bunx @capgo/cli@latest build credentials manage
EinstellungBeschreibung
--appId <appId>Anwendung zum Verwalten (fordert eine Auswahl an, wenn nicht angegeben)
--platform <ios|android>Plattform zum Verwalten (fordert eine Auswahl an, wenn nicht angegeben)
--localVerwende das Projekt-spezifische .capgo-credentials.json anstatt das globale Datei

Präferiere ein-zu-zuweisende, skriptierbare Befehle? Verwende die einzelnen Befehle unten.

Speichere deine Aufbau-Anmeldeinformationen lokal für automatisches Gebrauch:

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

Ändern Sie bestehende Anmeldeinformationen ohne alles erneut bereitzustellen:

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

Der update Befehl verwendet additiver Merge zur Bereitstellung von Profilen — neue Profile werden mit bestehenden Profilen kombiniert. Um die gesamte Bereitstellungskarte zu ersetzen, fügen Sie --overwrite-ios-provisioning-map.

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

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

Die Aktualisierungskommando akzeptiert die gleichen Optionen wie save aber alle sind optional — nur die von Ihnen bereitgestellten Felder werden aktualisiert.

Anzeigen der derzeit gespeicherten Anmeldedaten (Passwörter werden maskiert):

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

Entfernen der gespeicherten Anmeldedaten von Ihrem lokalen Computer:

Terminal-Fenster
# 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 das legacy-Ein-Profil-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 Anmeldeinformationen, konvertiert sie in CAPGO_IOS_PROVISIONING_MAP, und entfernt die legacy-Schlüssel. Siehe Migration von Single Profile für Details.

iOS-Anmeldeinformationen speichern

Abschnitt: "Saving iOS Credentials"
Terminal-Fenster
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"
EinstellungBeschreibungErforderlich
--certificate <path>Pfad zum .p12-Zertifikat-DateiJa (Release)
--p12-password <password>Zur .p12-Zertifikat-Datei gehörende PasswortJa (Release)
--ios-provisioning-profile <mapping>Zuordnung des Provisioning-Profils (bundleId=pathWiederholbar für Mehrfachziel-Anwendungen. Wenn nur ein Profil und kein Vorlagetext 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 Aussteller-ID (UUID)Siehe Anmerkung¹
--apple-team-id <id>App Store Connect Team-IDJa
--apple-id <email>Apple-ID-E-Mail-Adresse für die Upload von App-Spezifizierungs-Passwörtern (Alternative zur API-Schlüssel)Siehe Anmerkung²
--apple-app-specific-password <password>App-Spezifizierungs-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 oder ad_hocNein
--output-uploadAktivieren Sie einen zeitbegrenzten Capgo-Downloadlink für das Build-ArtifactNein (Standard: false)
--output-retention <seconds>Wie lange die Build-Ausgaben gespeichert werden sollen (z.B. 3600s)Nein (Standard: 3600s)
--skip-build-number-bumpAutomatische Inkrementierung der Build-Nummer überspringenNein

When you save iOS credentials, the CLI:

  1. Abschnitt mit dem Titel "Was wird gespeichert?"
  2. Wenn Sie iOS-Kennwörter speichern, wird der __CAPGO_KEEP_0__-Schlüssel wie folgt verwendet: Die Zertifikats- und Profildateien werden gelesen und in Base64-Codierung umgewandelt.
  3. Sichert sie ab ~/.capgo-credentials/credentials.json oder .capgo-credentials.json mit --local)
  4. Speichert Passwörter und IDs als plain text (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"
}
}
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
OptionBeschreibungErforderlich
--keystore <path>Pfad zum .keystore- oder .jks-DateiWenn Sie (Veröffentlichung)
--keystore-alias <alias>Alias für die SchlüsseldateiWenn Sie (Veröffentlichung)
--keystore-key-password <password>Passwort für den AliasWenn Sie (Veröffentlichung)
--keystore-store-password <password>Passwort für die SchlüsseldateiWenn Sie (Veröffentlichung)
--play-config <path>Pfad zur Play Store-Dienstkontodaten-JSONWenn Sie (Einreichung)

Wenn Sie Android-Kredentials speichern, wird der CLI:

  1. Die Keystore- und Serviceaccount-JSON-Dateien liest
  2. Sie werden in Base64-Codierung umgewandelt
  3. Sie werden in ~/.capgo-credentials/credentials.json oder .capgo-credentials.json mit --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": "..."
}
}

Sobald Sie Anmeldeinformationen gespeichert haben, werden sie automatisch verwendet, wenn Sie bauen:

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

Sie können die gespeicherten 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)

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

    Terminalfenster
    # 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. Nie Credential im Commit speichern

    Terminalfenster
    # 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 „Exportieren Sie ein fertiges .env-File (empfohlen)“

Stattdessen müssen Sie die Basis64-Codierung jedes Anmeldeinformationsdateis manuell durchführen (siehe unten) unterlassen Sie das Datei für Sie generieren: build credentials manage Terminal-Fenster

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

mit allen gespeicherten Anmeldeinformationen als Umgebungsvariable — jede Zeile ist ein Geheimnis, das Sie in Ihrem CI/CD-Anbieter hinzufügen müssen. Beide Plattformen sind standardmäßig kombiniert; fügen Sie .env.capgo.<appId>.<platform> __CAPGO_KEEP_0__ 0600__CAPGO_KEEP_0__ --platform ios Weniger oder mehr --platform android um es auf ein einzigen zu beschränken

CLI liest die folgenden Umgebungsvariablen für Anmeldeinformationen:

iOS-Anmeldeinformationen:

EingabeBeschreibungFormatErforderlich
BUILD_CERTIFICATE_BASE64P12/PKCS12-Zertifikat für code-SignierungBase64Ja (Release)
CAPGO_IOS_PROVISIONING_MAPJSON-Karte von Bundle-IDs zu Provisionierungsprofil-DatenJSON-StringJa (Release)
P12_PASSWORDKennwort für das P12-ZertifikatPlaintextOptional
APPLE_KEY_IDApp Store Connect API-Schlüssel-IDZeichenkette (z. B. "ABC1234567")Siehe Anmerkung¹
APPLE_ISSUER_IDApp Store Connect API Aussteller-IDUUID-ZeichenketteSiehe Anmerkung¹
APPLE_KEY_CONTENTApp Store Connect API Schlüssel (Inhalt der .p8-Datei)Base64Siehe Anmerkung¹
APP_STORE_CONNECT_TEAM_IDApple-Entwickler-Team-IDZeichenkette (z. B. "XXXXXXXXXX")Ja
CAPGO_IOS_DISTRIBUTIONVerteilungsmodus: app_store (Standard) 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_PASSWORDKennwort für die Alias-KennungFreitextJa*
KEYSTORE_STORE_PASSWORDKennwort für das Keystore-DateiFreitextJa*
PLAY_CONFIG_JSONGoogle Play-Dienstkontokonto JSONBase64Ja (Einreichung)

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

GitHub Beispiele für Aktionen

Abschnitt: GitHub Beispiele für Aktionen
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 }}

Base64-Werte vorbereiten

Abschnitt: Base64-Werte vorbereiten

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 den Build-Servern
  • Einfache Rotation und Zugriffssteuerung
  • Protokolle für die Verwendung von Geheimnissen

Rotieren Sie Ihre Anmeldeinformationen regelmäßig:

  1. iOSErstellen Sie neue Zertifikate und API-Schlüssel jährlich
  2. AndroidÄndern Sie die Passwörter des Keystores jährlich
  3. Nach Änderungen im TeamRotieren Sie, wenn Teammitglieder gehen

Aktualisieren Sie gespeicherte Anmeldeinformationen:

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

Wenn das Build besagt, dass keine Zugriffsberechtigungen gefunden wurden:

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

    Terminal-Fenster
    bunx @capgo/cli@latest build credentials list
  2. Speichern Sie Zugriffsberechtigungen, wenn sie fehlen:

    Terminal-Fenster
    bunx @capgo/cli@latest build credentials save --platform ios ...
  3. Überprüfen Sie, ob das Dateisystem für die Zugriffsberechtigungen existiert:

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

“Zugriff verweigert” beim Lesen der Zugriffsberechtigungen

Abschnitt mit dem Titel „Zugriffsverbot beim Lesen von Anmeldeinformationen“

Dateirechte korrigieren:

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

Überprüfen Sie, ob die richtige Plattform angegeben ist:

Befehlszeichenfenster
# 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

Wenn Anmeldeinformationen wie beschädigt erscheinen:

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

Wenn Sie derzeit Umgebungsvariablen verwenden, können Sie zu gespeicherten Anmeldeinformationen migrieren:

  1. Ziehen Sie Ihre aktuellen Umgebungsvariablen heraus

    Terminalfenster
    echo $BUILD_CERTIFICATE_BASE64 # Verify they exist
  2. Base64-Dateien wieder in die Originaldateien entschlüsseln (falls erforderlich)

    Terminalfenster
    echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12
    echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision
  3. 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"

    Wenn Sie bereits vorhandene Anmeldeinformationen im alten Format gespeichert haben (einzelne) BUILD_PROVISION_PROFILE_BASE64Terminalfenster

    Auf die Zwischenablage kopieren
    bunx @capgo/cli@latest build credentials migrate --platform ios

    und entfernt die alten CAPGO_IOS_PROVISIONING_MAP und BUILD_PROVISION_PROFILE_BASE64 Schlüssel. APPLE_PROFILE_NAME Die Build testen

  4. Terminalfenster

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

    Terminalfenster
    unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64

Die Anmeldeinformationen werden in einer einzelnen JSON-Datei gespeichert:

  • Global (Standardmäßig): ~/.capgo-credentials/credentials.json — über alle Ihre Projekte hinweg geteilt
  • Lokal (mit --local): .capgo-credentials.json in Ihrem Projekt-Root — überschreibt die globale Datei für dieses Projekt

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

  • Einstieg - Erstellen Sie Ihr erstes Build
  • iOS Builds - iOS-spezifische Build-Konfiguration
  • Android Builds - Androidspezifische Build-Konfiguration
  • Schulung context: Unterstützung / Premium-Unterstützung-Seite oder Fußzeile-Unterstützungsabschnitt. Rolle: Abschnitt- oder Seiteüberschrift. Gesehen in: Seite support-policy.astro. Nachrichtenschlüssel `support_policy_troubleshooting_title` (Support Policy Troubleshooting Title)

- Gemeinsame Probleme und Lösungen

Brauchen Sie Hilfe?

Wenn Sie diese verwenden Zugriffsdaten verwalten um die CI/CD-Automatisierung zu planen, verbinden Sie sie mit Capgo CI/CD für den Produktworkflow in Capgo CI/CD Capgo Native Builds für den Produktworkflow in Capgo Native Builds Capgo Integrations für den Produktworkflow in Capgo Integrations CI/CD-Integration für die Implementierungsdetails in CI/CD-Integration und GitHub Actions-Integration für die Implementierungsdetails in GitHub Actions-Integration.