Zum Inhalt springen

Anmeldeinformationen verwalten

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

Capgo CLI ermöglicht Ihnen, die Build-Zugriffsberechtigungen lokal auf Ihrem Computer im .capgo-credentials Capgo-Ordner zu speichern. Wenn Sie einen Build ausführen, werden diese Zugriffsberechtigungen automatisch verwendet und sicher an Capgo's Build-Server übermittelt.

Speichern Sie Ihre Build-Sicherheitsdaten lokal für automatischen Einsatz:

Terminalfenster
npx @capgo/cli build credentials save --platform <ios|android> [options]

Teilweise aktualisieren Sie bestehende Sicherheitsdaten ohne alles erneut bereitzustellen:

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

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

Zur Zwischenablage kopieren

Der Update-Befehl akzeptiert die gleichen Optionen wie
npx @capgo/cli build credentials update \
--platform ios \
--ios-provisioning-profile "com.example.app.widget=./widget_profile.mobileprovision"

Anmeldeinformationen auflisten save Abschnitt mit der Überschrift „Anmeldeinformationen auflisten“

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

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

Angezeigt werden die derzeit gespeicherten Anmeldeinformationen (Passwörter werden maskiert):

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

Entfernen Sie die gespeicherten Anmeldeinformationen von Ihrem lokalen Computer:

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

Konvertieren Sie das legacy-Format für einzelne Profile in das neue multi-target-Format:

Terminalfenster
npx @capgo/cli build credentials migrate --platform ios

Die Migrate-Kommando erkennt alte BUILD_PROVISION_PROFILE_BASE64 Daten, wandelt sie in CAPGO_IOS_PROVISIONING_MAP, und entfernt die alten Schlüssel. Siehe Migration von Single Profile für Details.

Terminalfenster
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"
OptionBeschreibungErforderlich
--certificate <path>Pfad zum .p12-ZertifikatJa (Veröffentlichung)
--p12-password <password>Passwort für das .p12-ZertifikatJa (Veröffentlichung)
--ios-provisioning-profile <mapping>Zuweisungsprofil-Zuordnung (bundleId=path). Wiederholbar für Mehrziel-Anwendungen. Wenn nur ein Profil und kein Vorlage für bundleId, CLI wird automatisch aus dem Profil abgeleitet.Ja (Veröffentlichung)
--apple-key <path>Pfad zum 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
--ios-distribution <mode>Verteilungsmodus: app_store (Standard) oder ad_hocNein
--output-uploadErmöglichen Sie einen zeitbegrenzten Capgo-Download-Link für das Build-ArtifactNein (Standard: false)
--output-retention <seconds>Wie lange die Build-Ausgaben aufbewahrt werden sollen (z. B. 3600s)Nein (Standard: 3600s)
--skip-build-number-bumpAutomatische Inkrementierung der Build-Nummer überspringenNein

Wenn Sie iOS-Zugangsdaten speichern, werden die CLI:

  1. Liest die Zertifikats- und Profildateien
  2. Konvertiert sie in Base64-Codierung
  3. Speichert die Zugangsdaten in dem .capgo-credentials Ordner
  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
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.json
OptionBeschreibungPflichtfeld
--keystore <path>Pfad zum .keystore- oder .jks-DateiJa (Release)
--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 Play Store-Dienstkontodaten-JSONJa (Einreichung)

Wenn Sie Android-Kennwörter speichern, werden die CLI:

  1. Liest die Keystore- und Dienstkontodaten-JSON-Dateien
  2. Konvertiert sie in Base64-Codierung
  3. Speichert die Anmeldeinformationen im .capgo-credentials Ordner
  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 folder
npx @capgo/cli build com.example.app --platform ios

Sie können auch gespeicherte Anmeldeinformationen mithilfe von Umgebungsvariablen überschreiben:

Terminal-Fenster
# Environment variables take precedence over saved credentials
BUILD_CERTIFICATE_BASE64="..." \
P12_PASSWORD="different-password" \
npx @capgo/cli build com.example.app --platform ios

Prioritätsordnung:

  1. Umgebungsvariablen (höchste Priorität)
  2. Gespeicherte Anmeldeinformationen in .capgo-credentials Ordner
  3. Keine Anmeldeinformationen (niedrigste Priorität)

Gespeicherte Anmeldeinformationen anzeigen

Abschnitt „Gespeicherte Anmeldeinformationen anzeigen“

Liste der gespeicherten Anmeldeinformationen:

Terminalfenster
npx @capgo/cli 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/
🔒 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. Dateisicherheitsrechte

    Terminalfenster
    # Ensure credentials folder is not readable by others
    chmod 700 .capgo-credentials
    chmod 600 .capgo-credentials/*
  2. Keine Zugriffscodes im Commit speichern

    Terminalfenster
    # Add to .gitignore
    echo ".capgo-credentials/" >> .gitignore
  3. Zugriffscodes getrennt

    • Verschiedene Zugriffscodes für lokale Entwicklung und CI/CD verwenden
    • Zugriffscodes regelmäßig rotieren
    • Zugriffscodes nicht zwischen Teammitgliedern teilen

Für CI/CD-Umgebungen vorzuziehen Sie Umgebungsvariablen über gespeicherte Anmeldeinformationen.

Die CLI liest die folgenden Umgebungsvariablen für Anmeldeinformationen:

iOS-Anmeldeinformationen:

VariableBeschreibungFormatErforderlich
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-ZertifikatKlartextOptional
APPLE_KEY_IDApp Store Connect API ZertifikatschlüsselZeichenfolge (z.B. "ABC1234567")Siehe Anmerkung¹
APPLE_ISSUER_IDApp Store Connect API Aussteller-IDUUID-ZeichenfolgeSiehe Anmerkung¹
APPLE_KEY_CONTENTApp Store Connect API-Schlüssel (Inhalt der .p8-Datei)Base64Siehe Anmerkung¹
APP_STORE_CONNECT_TEAM_IDApple-Entwickler-Team-IDZeichenfolge (z. B. "XXXXXXXXXX")Ja
CAPGO_IOS_DISTRIBUTIONVerteilungsmodus: app_store oder ad_hocZeichenfolgeNein

Android-Zertifikate:

__CAPGO_KEEP_0__BeschreibungFormatErforderlich
ANDROID_KEYSTORE_FILEKeystore-Datei für das Signieren von APK/AABBase64Ja (Release)
KEYSTORE_KEY_ALIASAlias des Schlüssels innerhalb des KeystoresZeichenfolgeJa (Release)
KEYSTORE_KEY_PASSWORDKennwort für den Alias des SchlüsselsEinfacher TextJa*
KEYSTORE_STORE_PASSWORDPasswort für das Keystore-DateiEinfacher TextJa*
PLAY_CONFIG_JSONGoogle Play-Dienstkontoinformationen im JSON-FormatBase64Ja (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: 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 }}

Um Ihre Zertifikatsdateien in Base64 umzuwandeln, um sie als CI/CD-Schlüssel zu speichern:

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

Diese Methode ist sicherer, weil:

  • Geheime Daten werden von Ihrem CI/CD-Plattform verwaltet
  • Keine Zugriffskontrolldateien auf den Build-Servern
  • Einfache Rotation und Zugriffssteuerung
  • Protokolle für die Verwendung von Geheimdiensten

Rotieren Sie Ihre Zugriffsberechtigungen regelmäßig:

  1. iOS: Erstellen Sie neue Zertifikate und API-Schlüssel jährlich
  2. Android: Jährlich Passwörter des Keystores ändern
  3. Nach Teamänderungen: Rotieren, wenn Teammitglieder gehen

Speicherter Zugangsdaten aktualisieren:

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

Wenn das Build besagt, dass keine Zugangsdaten gefunden wurden:

  1. Überprüfen, ob Zugangsdaten gespeichert sind:

    Terminalfenster
    npx @capgo/cli build credentials list
  2. Speichere Anmeldedaten, wenn fehlend:

    Terminalfenster
    npx @capgo/cli build credentials save --platform ios ...
  3. Überprüfe, ob das Verzeichnis für Anmeldedaten existiert:

    Terminalfenster
    ls -la .capgo-credentials/

Dateirechte korrigieren:

Terminalfenster
chmod 700 .capgo-credentials
chmod 600 .capgo-credentials/*

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

Terminal-Fenster
# Make sure --platform matches saved credentials
npx @capgo/cli build com.example.app --platform ios # Uses ios credentials
npx @capgo/cli build com.example.app --platform android # Uses android credentials

Wenn die Anmeldedaten korrupt erscheinen:

Terminal-Fenster
# Clear all credentials
npx @capgo/cli build credentials clear
# Save again
npx @capgo/cli build credentials save --platform ios ...

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

  1. Ziehen Sie Ihre aktuellen Umgebungsvariablen heraus

    Terminal-Fenster
    echo $BUILD_CERTIFICATE_BASE64 # Verify they exist
  2. Bas64-Dateien zurück in die Originaldateien entschlüsseln (falls erforderlich) Terminal-Fenster

    Auf die Zwischenablage kopieren
    echo "$BUILD_CERTIFICATE_BASE64" | base64 -d > cert.p12
    echo "$BUILD_PROVISION_PROFILE_BASE64" | base64 -d > profile.mobileprovision
  3. Save using the CLI

    Auf die Zwischenablage kopieren
    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"

    Wenn Sie bestehende Anmeldeinformationen im alten Format (einzelne BUILD_PROVISION_PROFILE_BASE64Terminal-Fenster

    Zur Zwischenablage kopieren
    npx @capgo/cli build credentials migrate --platform ios

    und entfernt die alten CAPGO_IOS_PROVISIONING_MAP und BUILD_PROVISION_PROFILE_BASE64 Schlüssel. APPLE_PROFILE_NAME Testen Sie die Build

  4. Terminal-Fenster

    Zur Zwischenablage kopieren
    npx @capgo/cli build com.example.app --platform ios
  5. targetLanguage (optional)

    Terminalfenster
    unset BUILD_CERTIFICATE_BASE64 BUILD_PROVISION_PROFILE_BASE64

Die Anmeldeinformationen werden im .capgo-credentials Ordner:

  • macOS/Linux: .capgo-credentials/ (in Ihrem Projekt-Root- oder Home-Verzeichnis)
  • Windows: .capgo-credentials\ (in Ihrem Projekt-Root- oder Home-Verzeichnis)

Der Ordner wird automatisch erstellt, wenn Sie die Anmeldeinformationen zum ersten Mal speichern.