GitLab CI/CD#

GitLab ist ein robustes Continuous Integration/Continuous Delivery (CI/CD)-Tool, das auf Git-Repositories basiert. Es bietet eine Verwaltungsebene über Git, ermöglicht die Organisation von Repositories in Gruppen und die Verwaltung von Zugriffsrechten und unterstützt verschiedene CI/CD-Workflows.

Die Integration zwischen GitLab und Allegra bietet folgende Funktionen:

  • Zuordnung von Git-Commits zu Vorgängen

  • Zuordnung von Git-Pull-Requests zu Vorgängen (in Arbeit)

  • Anzeige von Git-Commits, die sich auf Vorgänge beziehen, im Cockpit-Kacheln

  • Direkte Links zum GitLab-Repository-Browser

Einrichten der GitLab-Integration#

Voraussetzungen#

Um eine Verbindung zwischen Allegra und GitLab herzustellen, müssen die folgenden Voraussetzungen erfüllt sein:

  • Sie haben Systemadministratorzugriff auf Allegra.

  • Ihre Allegra-Instanz hat Netzwerkzugriff auf Ihre GitLab-Instanz.

  • Sie haben die erforderlichen Berechtigungen, um GitLab-Zugriffstokens zu erstellen, die für den Zugriff auf Commit-Nachrichten in GitLab benötigt werden.

Schritt 1: Aufrufen des Allegra-GitLab-Konfigurationsmenüs#

Gehen Sie zu „Administration“, wählen Sie dann „Integrationen“ und klicken Sie auf GitLab. Hier können Sie die GitLab-Integration einrichten.

../../_images/gitlab-integration-1-en.png

Schritt 2: Erstellen einer neuen Verbindung#

Erstellen Sie eine neue Verbindung zu einem GitLab-Server, indem Sie auf Hinzufügen klicken.

../../_images/gitlab-integration-2-de.png

Schritt 3: Konfigurieren der Verbindung#

../../_images/gitlab-integration-3-en.png

Beim Konfigurieren der Verbindung können Sie die folgenden Parameter festlegen:

Parameter

Beschreibung

GitLab-Server-URL

Die URL Ihres GitLab-Servers. Zum Beispiel: https://build.alltena.com. Ersetzen Sie dies durch Ihre GitLab-Server-URL oder statische IP.

GitLab-Servername

Eine Kennung für die Verbindung. Sie können den automatisch generierten Namen verwenden oder ihn bei Bedarf anpassen.

GitLab-Zugriffstoken

Ein in GitLab generiertes Token, das bestimmt, auf welche Projekte zugegriffen werden kann. Ersetzen Sie dies durch Ihr GitLab-Zugriffstoken. Weitere Informationen finden Sie unter Abrufen des GitLab-Zugriffstokens.

Startdatum der ersten Synchronisierung

Das Startdatum, ab dem Allegra nach Commit-Nachrichten mit Allegra-Vorgangsnummern sucht.

Regulärer Ausdruck für Vorgangsnummern

Der reguläre Ausdruck, den Allegra verwendet, um Muster in Commit-Nachrichten zu erkennen. Standardmäßig:

  • #<Allegra-Vorgangsnummer> (z. B. #4711)

  • #<Allegra-Arbeitsbereichsspezifische Vorgangsnummer> (z. B. #WORK-4711)

Beispiel einer Commit-Nachricht: „Neue Authentifizierungslogik implementieren zur Erhöhung der Sicherheit #WORK-4711“

Nach dem Speichern einer Konfiguration können Sie die Verbindung durch Klicken auf Testen validieren.

../../_images/gitlab-integration-4-de.png

Sobald die Serververbindung erfolgreich validiert wurde, können Sie die Synchronisation starten Schritt 4: Synchronisation starten.

Schritt 4: Synchronisation starten#

Nach der Validierung der Serververbindung wählen Sie die GitLab-Projekte aus, die Sie synchronisieren möchten, und klicken auf Speichern.

../../_images/gitlab-integration-6-en.png

Nach dem Speichern der Repository-Konfiguration beginnt die initiale Synchronisation automatisch.

Hinweis

Sie können die Auswahl der synchronisierten Repositories jederzeit ändern. Z. B. wenn ein neues GitLab-Projekt hinzugefügt wurde.

Hinweis

Standardmäßig werden Änderungen vom GitLab-Server alle 10 Minuten synchronisiert. Durch Konfigurieren eines Webhooks können Sie jedoch Echtzeit-Updates erhalten. Weitere Informationen zur Webhook-Einrichtung finden Sie hier Optionaler Schritt: Webhook für direkte Synchronisation

Abrufen des GitLab-Zugriffstokens#

Allegra verwendet ein Token, um mit Ihrem GitLab-Server zu kommunizieren. Dieses Token bestimmt, auf welche GitLab-Projekte Allegra zugreifen kann. Es werden nur Repositories gelesen und synchronisiert, die mit diesem Token zugänglich sind. Je nach Anwendungsfall können Sie z. B. ein Personal GitLab Token oder ein Project GitLab Token verwenden.

Weitere Informationen zur Erstellung eines Zugriffstokens finden Sie in der GitLab-Dokumentation (https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html):

../../_images/gitlab-integration-5-en.png

Achtung

Bitte generieren Sie ein Zugriffstoken mit den folgenden Scopes: `read_api` und `read_repository`. Weitere Details finden Sie in der GitLab-Dokumentation (https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html).

Optionaler Schritt: Webhook für direkte Synchronisation#

Standardmäßig werden Änderungen vom GitLab-Server alle 10 Minuten synchronisiert. Durch die Konfiguration eines Webhooks können Sie jedoch Echtzeit-Updates erhalten.

Allegra kann Versionskontrolldaten mit einem GitLab-Server auf zwei Arten synchronisieren:

  • Über einen zeitgesteuerten automatischen Prozess alle x Minuten, wobei x in der Datei

    $ALLEGRA_HOME/quartz-jobs.xml angepasst werden kann.

  • Über einen GitLab-Webhook, der die Allegra-REST-API aufruft, um Echtzeit-Updates zu ermöglichen.

Schritte zur Einrichtung der Webhook-Verbindung:

  1. Navigieren Sie zu den Einstellungen Ihres GitLab-Projekts und wählen Sie Webhooks.

  2. Kopieren Sie die im Allegra-GitLab-Integrationsmenü generierte Webhook-URL, die nach einer erfolgreichen Verbindung automatisch erstellt wurde (Schritt 3: Konfigurieren der Verbindung).

  3. Fügen Sie die URL in das entsprechende Feld in GitLab ein.

  4. Aktivieren Sie die folgenden Trigger: - Push Events - All Branches

../../_images/gitlab-integration-11-en.png

Achtung

Stellen Sie sicher, dass Sie für jedes synchronisierte GitLab-Projekt einen separaten Webhook konfigurieren.

Optionaler Schritt: Anpassung des regulären Ausdrucks#

Standardmäßig durchsucht Allegra Ihre GitLab-Commit-Nachrichten nach Zeichenfolgen, die dem folgenden Muster entsprechen:

  • (#([a-zA-Z-0-9]+))

Dieser reguläre Ausdruck erkennt Zeichenfolgen wie #4711 oder #WORK-4711 in Commit-Nachrichten.

Wenn Allegra ein anderes Format erkennen soll, können Sie den regulären Ausdruck entsprechend ändern. Um beispielsweise Zeichenfolgen wie #AL:4711 oder #AL:WORK-4711 zu erkennen, können Sie dieses Muster verwenden:

  • (#AL:([A-Z0-9-]+))

Verwendung der GitLab-Integration#

Die GitLab-Integration bietet verschiedene Möglichkeiten, Ihren Workflow zu verbessern. Alle Methoden erfordern eine Commit-Nachricht mit einer Allegra-Vorgangs-ID innerhalb eines verbundenen GitLab-Projekts.

Erstellen eines Commits in GitLab#

../../_images/gitlab-integration-7-en.png

Hinweis

Wir empfehlen die Verwendung der Funktion „In die Zwischenablage kopieren“ in der Eingabemaske eines Vorgangs, um die Allegra-Vorgangsnummer schnell und bequem zu kopieren.

Versionskontrolle in der Vorgangsansicht#

Im unteren Bereich der Bearbeitungsmaske eines Vorgangs zeigt der Tab „Versionskontrolle“ alle Commits, Branches und Pull Requests (in Kürze) an, die diesem Vorgang zugeordnet sind. Die Verknüpfung erfolgt, wie oben beschrieben, mithilfe der Vorgangsnummern als Teil des Commit-Texts oder des Namens für Branches und Pull Requests.

../../_images/gitlab-integration-8-en.png

Commits, Branches und Pull Requests (in Kürze), die dem Vorgang zugeordnet sind#

Versionskontroll-Cockpit-Kachel#

Das Versionskontroll-Cockpit-Widget kann alle Aktivitäten zur Versionskontrolle in einem Allegra-Projekt anzeigen, unabhängig vom zugrunde liegenden Versionskontrollsystem. Wenn Sie auf den zugehörigen Link klicken, gelangen Sie je nach Konfiguration zum internen oder externen Versionskontroll-Browser.

../../_images/gitlab-integration-9-en.png

Cockpit-Kachel zur Anzeige der Versionskontrolle#

Benachrichtigungen zur Versionskontrolle#

Die Benachrichtigungen zur Versionskontrolle können durch Anpassung der Benachrichtigungseinstellungen gesteuert werden.

../../_images/gitlab-integration-10-en.png

Beispiel für eine Benachrichtigung zur Versionskontrolle#

```

Let me know if you need further assistance!