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 2: Erstellen einer neuen Verbindung#
Erstellen Sie eine neue Verbindung zu einem GitLab-Server, indem Sie auf Hinzufügen klicken.
Schritt 3: Konfigurieren der Verbindung#
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:
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.
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.
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):
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:
Navigieren Sie zu den Einstellungen Ihres GitLab-Projekts und wählen Sie Webhooks.
Kopieren Sie die im Allegra-GitLab-Integrationsmenü generierte Webhook-URL, die nach einer erfolgreichen Verbindung automatisch erstellt wurde (Schritt 3: Konfigurieren der Verbindung).
Fügen Sie die URL in das entsprechende Feld in GitLab ein.
Aktivieren Sie die folgenden Trigger: - Push Events - All Branches
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#
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.
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.
Benachrichtigungen zur Versionskontrolle#
Die Benachrichtigungen zur Versionskontrolle können durch Anpassung der Benachrichtigungseinstellungen gesteuert werden.
Let me know if you need further assistance!