Markdown

GitHub: Zugangsdaten

Unter Anbindungen, Kategorie Git, verbindest du ein GitHub-Konto per OAuth oder Personal Access Token, damit MainPath Repositories in deinem Account anlegen oder bestehende importieren und dort die Pipelines betreiben kann.

Auf dieser Seite

GitHub liegt unter Anbindungen in der Kategorie Git. Empfohlen ist Mit GitHub verbinden (OAuth). Steht OAuth nicht zur Verfügung, hinterlegst du einen Personal Access Token.

Beim Anlegen oder Bearbeiten eines Projekts wählst du ganz unten unter Repositories das Git-Hosting: Automatisch generiert (empfohlen) legt die Repositories in der GitLab-Instanz von MainPath an. GitHub nutzt das hier verbundene Konto.

OAuth

  1. Öffne Anbindungen → GitHub → Mit GitHub verbinden.
  2. Melde dich bei GitHub an und erteile von MainPath Zugriff auf Repositories, Workflows und Organisationen.
  3. Nach dem Callback steht der Zugang in der Projektauswahl.

OAuth braucht eine GitHub-OAuth-App von MainPath (GITHUB_OAUTH_CLIENT_ID / GITHUB_OAUTH_CLIENT_SECRET im Backend). Fehlt sie, bleibt nur der Token-Weg.

Personal Access Token

  1. Erzeuge in GitHub unter Settings → Developer settings → Personal access tokens einen Token (classic oder fine-grained) mit Rechten für Repositories, Workflows und Packages.
  2. Öffne Anbindungen → GitHub → API-Token hinzufügen.
  3. Trage Name, Slug, den Token und optional die GitHub-URL ein (Standard https://github.com; GitHub Enterprise abweichend).

MainPath prüft den Token gegen die GitHub-API. Bei GitHub Enterprise bleibt die Basis-URL die deiner Instanz.

Im Projekt nutzen

  1. Beim Projekt ganz unten GitHub wählen und diesen Zugang plus Organisation oder Benutzer-Namespace angeben.
  2. Pro Komponente kannst du ein bestehendes Repository importieren oder eines anlegen lassen.
  3. MainPath schreibt .github/workflows/ci.yml, das die öffentlichen Workflows aus doppelt-digital/app-project-github-actions einbindet. GitHub-hosted Runner (ubuntu-24.04, macos-15) installieren Toolchain-Versionen per ASDF.

GitOps liegt ebenfalls in demselben GitHub-Namespace (gitops).