Zum Hauptinhalt springen
Version: Weekly Build

Git Providers

title: "Git Provider" slug: /private-cloud/configure/git-providers sidebar_position: 4 description: "Konfiguriere GitHub-, GitLab-, Bitbucket- und Azure-DevOps-Integrationen für den Repository-Zugriff."​

Konfiguriere Git Provider-Integrationen unter codesphere.gitProviders in config.yaml. Füge für jeden aktivierten Provider die entsprechende clientId und das clientSecret zu deiner prod.vault.yaml-Secrets-Datei hinzu; siehe Private Cloud Installer Vault Secrets.

Allgemeine Struktur für jeden Provider​

# providerName e.g., github, gitlab
# providerName:
# enabled: true # or false
# url: "Base URL of the provider"
# api:
# baseUrl: "API base URL"
# oauth:
# issuer: "OAuth issuer URL"
# authorizationEndpoint: "OAuth authorization URL"
# tokenEndpoint: "OAuth token URL"
# # Other provider-specific OAuth settings like scope, clientAuthMethod

Zugangsdaten generieren (Beispiele)​

GitLab:​

  1. Gehe zu deiner GitLab-Gruppe (oder zu den Benutzereinstellungen für eine App auf Benutzerebene) > Settings > Applications.
  2. Erstelle eine neue Anwendung (z. B. „Codesphere MyProject").
  3. Redirect URI / Callback URL: https://<codesphere.domain>/ide/auth/gitlab/callback (ersetze <codesphere.domain> durch deine Codesphere-Domain).
  4. Scopes: Wähle api, read_repository, write_repository. (Stelle sicher, dass openid, profile, email ebenfalls verfügbar/ausgewählt sind, falls Informationen zum Benutzerprofil benötigt werden.)
  5. Speichere die Anwendung. Du erhältst eine „Application ID" (gitlabAppClientId) und ein „Secret" (gitlabAppClientSecret).

GitHub:​

Erstelle für GitHub eine GitHub App anstelle einer OAuth App für eine bessere Integration.

  1. Gehe zu den Einstellungen deiner GitHub-Organisation > Developer settings > GitHub Apps > New GitHub App.
  2. Application name: z. B. „Codesphere MyProject"
  3. Homepage URL: https://<your-codesphere.domain>
  4. Authorization callback URL: https://<your-codesphere.domain>/ide/auth/github/callback
  5. Du erhältst eine „Client ID" (githubAppsClientId) und generierst ein „Client Secret" (githubAppsClientSecret).
  6. Optional kannst du ein Bild als Logo hochladen.

Bitbucket (Server/Data Center — typischerweise Application Links für OAuth 1.0a oder OAuth 2.0, falls unterstützt):

  1. Admin Settings > System > Application Links.
  2. Erstelle einen neuen Link. Wähle „External Application", „Incoming".
  3. Redirect URL: https://<codesphere.domain>/ide/auth/bitbucket/callback
  4. Berechtigungen: Repository Lese-/Schreibzugriff.
  5. Du erhältst einen „Consumer Key" (bitbucketAppsClientId) und ein „Consumer Secret" (bitbucketAppsClientSecret) oder Ähnliches, abhängig von der OAuth-Version.

Azure DevOps:​

  1. Registriere eine Anwendung in Azure Active Directory.
  2. Redirect URI: https://<codesphere.domain>/ide/auth/azureDevOps/callback (stelle sicher, dass sie als Web-Redirect-URI hinzugefügt wird).
  3. Notiere die „Application (client) ID" (azureDevOpsAppClientId).
  4. Gehe zu „Certificates & secrets" -> „New client secret", um azureDevOpsAppClientSecret zu generieren. Stelle eine Erinnerung ein, um dieses Secret regelmäßig zu rotieren, da es ein Ablaufdatum hat.
  5. API-Berechtigungen: Füge Berechtigungen für „Azure DevOps" -> user_impersonation hinzu und stelle sicher, dass vso.code_full im Scope in config.yaml enthalten ist.

Denke daran, diese Client-IDs und Secrets zu deiner prod.vault.yaml-Datei hinzuzufügen und sie zu verschlüsseln. Beispielhafte Secret-Namen:

  • githubAppsClientId, githubAppsClientSecret
  • gitlabAppClientId, gitlabAppClientSecret
  • bitbucketAppsClientId, bitbucketAppsClientSecret
  • azureDevOpsAppClientId, azureDevOpsAppClientSecret