Verbindungen für GitLab selbstverwaltete - AWS CodePipeline

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verbindungen für GitLab selbstverwaltete

Mithilfe von Verbindungen können Sie Konfigurationen autorisieren und einrichten, die Ihren Drittanbieter mit Ihren AWS Ressourcen verknüpfen. Um Ihr Drittanbieter-Repository als Quelle für Ihre Pipeline zuzuweisen, verwenden Sie eine Verbindung.

Anmerkung

Diese Funktion ist in den Regionen Asien-Pazifik (Hongkong), Asien-Pazifik (Hyderabad), Asien-Pazifik (Jakarta), Asien-Pazifik (Melbourne), Asien-Pazifik (Osaka), Afrika (Kapstadt), Naher Osten (Bahrain), Naher Osten (UAE), Europa (Spanien), Europa (Zürich), Israel (Tel Aviv) oder AWS GovCloud (US-West) nicht verfügbar. Hinweise zu anderen verfügbaren Aktionen finden Sie unter. Produkt- und Serviceintegrationen mit CodePipeline Überlegungen zu dieser Aktion in der Region Europa (Mailand) finden Sie in der Anmerkung unterCodeStarSourceConnection für Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com und GitLab selbstverwaltete Aktionen.

Um eine GitLab selbstverwaltete Quellaktion hinzuzufügen CodePipeline, können Sie eine der folgenden Optionen wählen:

Anmerkung

Sie können auch mithilfe der Developer Tools-Konsole unter Einstellungen eine Verbindung herstellen. Weitere Informationen finden Sie unter Verbindung erstellen.

Bevor Sie beginnen:

  • Sie müssen bereits ein Konto bei GitLab Enterprise Edition oder GitLab Community Edition mit einer selbstverwalteten Installation erstellt haben GitLab und über diese verfügen. Weitere Informationen finden Sie unter https://docs.gitlab.com/ee/subscriptions/self_managed/.

    Anmerkung

    Verbindungen bieten nur Zugriff für das Konto, das zum Erstellen und Autorisieren der Verbindung verwendet wurde.

    Anmerkung

    Sie können Verbindungen zu einem Repository erstellen, in dem Sie die Rolle des Besitzers haben GitLab, und dann kann die Verbindung mit Ressourcen wie verwendet werden. CodePipeline Bei Repositorys in Gruppen müssen Sie nicht der Gruppenbesitzer sein.

  • Sie müssen bereits ein GitLab persönliches Zugriffstoken (PAT) mit nur der folgenden eingeschränkten Berechtigung erstellt haben: api. Weitere Informationen finden Sie unter user/profile/personal_access_tokens.html. https://docs.gitlab.com/ee/ Sie müssen Administrator sein, um das erstellen und verwenden zu könnenPAT.

    Anmerkung

    Ihr PAT wird zur Autorisierung des Hosts verwendet und wird nicht anderweitig gespeichert oder von Verbindungen verwendet. Um einen Host einzurichten, können Sie einen temporären PAT Host erstellen. Nachdem Sie den Host eingerichtet haben, können Sie ihn löschen. PAT

  • Sie können wählen, ob Sie Ihren Host im Voraus einrichten möchten. Sie können einen Host mit oder ohne einrichtenVPC. Einzelheiten zur VPC Konfiguration und zusätzliche Informationen zum Erstellen eines Hosts finden Sie unter Host erstellen.

Stellen Sie eine Verbindung zu GitLab Self-Managed (Konsole) her

Gehen Sie wie folgt vor, um mithilfe der CodePipeline Konsole eine Verbindungsaktion für Ihr GitLab selbstverwaltetes Repository hinzuzufügen.

Anmerkung

GitLab Selbstverwaltete Verbindungen bieten nur Zugriff auf Repositorys, die dem GitLab selbstverwalteten Konto gehören, mit dem die Verbindung hergestellt wurde.

Bevor Sie beginnen:

Damit eine Hostverbindung zur GitLab selbstverwalteten Verbindung hergestellt werden kann, müssen Sie die Schritte zum Erstellen einer Hostressource für Ihre Verbindung abgeschlossen haben. Informationen zu Verbindungen finden Sie unter Hosts verwalten.

Schritt 1: Erstellen oder bearbeiten Sie Ihre Pipeline

Um Ihre Pipeline zu erstellen oder zu bearbeiten
  1. Melden Sie sich bei der CodePipeline Konsole an.

  2. Wählen Sie eine der folgenden Optionen aus.

    • Wählen Sie, ob Sie eine Pipeline erstellen möchten. Folgen Sie den Schritten unter Pipeline erstellen, um den ersten Bildschirm zu vervollständigen, und wählen Sie Weiter. Wählen Sie auf der Seite Quelle unter Quellanbieter die Option GitLab Selbstverwaltet aus.

    • Wählen Sie, ob Sie eine bestehende Pipeline bearbeiten möchten. Wählen Sie „Bearbeiten“ und dann „Phase bearbeiten“. Wählen Sie, ob Sie Ihre Quellaktion hinzufügen oder bearbeiten möchten. Geben Sie auf der Seite Aktion bearbeiten unter Aktionsname den Namen für Ihre Aktion ein. Wählen Sie unter Aktionsanbieter die Option GitLab Selbstverwaltet aus.

  3. Führen Sie eine der folgenden Aktionen aus:

    • Wenn Sie noch keine Verbindung zu Ihrem Anbieter hergestellt haben, wählen Sie unter Verbindung die Option Mit GitLab selbstverwaltetem Connect aus. Fahren Sie mit Schritt 2 fort: Verbindung zu GitLab Self-managed herstellen.

    • Wenn Sie unter Verbindung bereits eine Verbindung zu Ihrem Anbieter hergestellt haben, wählen Sie die Verbindung aus. Fahren Sie mit Schritt 3 fort: Speichern Sie die Quellaktion für Ihre Verbindung.

Stellen Sie eine Verbindung zu GitLab Self-Managed her

Nachdem Sie sich entschieden haben, die Verbindung herzustellen, wird die Seite Connect GitLab selbstverwalteter Verbindung herstellen angezeigt.

So stellen Sie eine Verbindung zur selbstverwalteten Website GitLab her
  1. Geben Sie unter Connection Name (Verbindungsname) den Namen für die Verbindung ein.

  2. Geben Sie URLunter den Endpunkt für Ihren Server ein.

    Anmerkung

    Wenn der bereitgestellte Wert URL bereits zum Einrichten eines Hosts für eine Verbindung verwendet wurde, werden Sie aufgefordert, die Hostressource auszuwählenARN, die zuvor für diesen Endpunkt erstellt wurde.

  3. Wenn Sie Ihren Server in einem Amazon gestartet haben VPC und eine Verbindung zu Ihrem herstellen möchtenVPC, wählen Sie Verwenden Sie a VPC und vervollständigen Sie die Informationen fürVPC.

  4. Wählen Sie Connect to GitLab self-managed aus. Die erzeugte Verbindung wird mit dem Status Pending (Ausstehend) angezeigt. Für die Verbindung mit den von Ihnen angegebenen Serverinformationen wird eine Hostressource erstellt. Für den Hostnamen URL wird der verwendet.

  5. Wählen Sie Update pending connection (Ausstehende aktualisieren) aus.

  6. Wenn eine Seite mit einer Umleitungsnachricht geöffnet wird, in der bestätigt wird, dass Sie zum Anbieter weiterreisen möchten, wählen Sie Weiter. Geben Sie die Autorisierung für den Anbieter ein.

  7. Ein Setup host_nameDie Seite wird angezeigt. Geben Sie Ihnen unter Persönliches Zugriffstoken bereitstellen nur die folgende eingeschränkte Berechtigung:. GitLab PAT api

    Anmerkung

    Nur ein Administrator kann das erstellen und verwenden. PAT

    Klicken Sie auf Weiter.

    Screenshot der Konsole mit dem Eintrag GitLab eines selbstverwalteten persönlichen Zugriffstokens für den neuen Host
  8. Die Verbindungsseite zeigt die erstellte Verbindung im Status Available (Verfügbar).

Schritt 3: Speichern Sie Ihre GitLab selbstverwaltete Quellaktion

Gehen Sie im Assistenten oder auf der Aktionsseite „Aktion bearbeiten“ wie folgt vor, um Ihre Quellaktion mit Ihren Verbindungsinformationen zu speichern.

Um Ihre Quellaktion mit Ihrer Verbindung abzuschließen und zu speichern
  1. Wählen Sie unter Repository name (Repository-Name) den Namen Ihres Drittanbieter-Repositorys aus.

  2. Unter Pipeline-Trigger können Sie Auslöser hinzufügen, wenn es sich bei Ihrer Aktion um eine CodeConnections Aktion handelt. Weitere Informationen zur Konfiguration der Pipeline-Trigger und zum optionalen Filtern mit Triggern finden Sie unterTrigger für Code-Push- oder Pull-Anfragen filtern.

  3. Im Output artifact format (Format des Ausgabeartefakts) müssen Sie das Format für Ihre Artefakte auswählen.

    • Um Ausgabeartefakte aus der GitLab selbstverwalteten Aktion mit der Standardmethode zu speichern, wählen Sie CodePipelineStandard. Die Aktion greift auf die Dateien aus dem Repository zu und speichert die Artefakte in einer ZIP Datei im Pipeline-Artefaktspeicher.

    • Um eine JSON Datei zu speichern, die einen URL Verweis auf das Repository enthält, sodass nachgelagerte Aktionen Git-Befehle direkt ausführen können, wählen Sie Vollständiger Klon. Diese Option kann nur von CodeBuild Downstream-Aktionen verwendet werden.

  4. Wählen Sie im Assistenten Weiter oder auf der Aktionsseite Bearbeiten die Option Speichern aus.

Erstellen Sie einen Host und eine Verbindung zu GitLab Self-managed () CLI

Sie können das AWS Command Line Interface (AWS CLI) verwenden, um eine Verbindung herzustellen.

Verwenden Sie dazu den Befehl create-connection.

Wichtig

Eine Verbindung, die über AWS CLI oder AWS CloudFormation erstellt wurde, hat standardmäßig PENDING den Status. Nachdem Sie eine Verbindung mit dem CLI Oder hergestellt haben AWS CloudFormation, bearbeiten Sie die Verbindung in der Konsole, um ihren Status festzulegenAVAILABLE.

Sie können das AWS Command Line Interface (AWS CLI) verwenden, um einen Host für installierte Verbindungen zu erstellen.

Sie verwenden Sie einen Host, der den Endpunkt für die Infrastruktur darstellt, in der der Drittanbieter installiert ist. Nachdem Sie die Hosterstellung mit dem abgeschlossen habenCLI, befindet sich der Host im Status Ausstehend. Anschließend richten Sie den Host ein oder registrieren ihn, um ihn in den Status Verfügbar zu versetzen. Sobald der Host verfügbar ist, führen Sie die Schritte zum Erstellen einer Verbindung aus.

Verwenden Sie dazu den Befehl create-host.

Wichtig

Ein über den erstellter Host AWS CLI befindet sich standardmäßig im Pending Status. Nachdem Sie einen Host mit dem erstellt habenCLI, verwenden Sie die Konsole oder die, CLI um den Host so einzurichten, dass er seinen Status festlegtAvailable.

Einen Host erstellen
  1. Öffnen Sie die Eingabeaufforderung (Windows) oder das Terminal (Linux, macOS oder Unix). Verwenden Sie den, AWS CLI um den create-host Befehl auszuführen, und geben Sie dabei --name--provider-type, und --provider-endpoint für Ihre Verbindung an. In diesem Beispiel lautet der Name des Drittanbieters GitLabSelfManaged und der Endpunkt my-instance.dev.

    aws codestar-connections create-host --name MyHost --provider-type GitLabSelfManaged --provider-endpoint "https://my-instance.dev"

    Bei Erfolg gibt dieser Befehl die Amazon Resource Name (ARN) -Hostinformationen zurück, die den folgenden ähneln.

    { "HostArn": "arn:aws:codestar-connections:us-west-2:account_id:host/My-Host-28aef605" }

    Nach diesem Schritt befindet sich der Host im Status PENDING (Ausstehend).

  2. Schließen Sie das Host-Setup mit der Konsole ab und ändern Sie den Host-Status zu Available (Verfügbar).

Um eine Verbindung zu GitLab Self-Managed herzustellen
  1. Öffnen Sie die Eingabeaufforderung (Windows) oder das Terminal (Linux, macOS oder Unix). Verwenden Sie den AWS CLI , um den create-connection Befehl auszuführen, und geben Sie dabei --host-arn und --connection-name für Ihre Verbindung an.

    aws codestar-connections create-connection --host-arn arn:aws:codestar-connections:us-west-2:account_id:host/MyHost-234EXAMPLE --connection-name MyConnection

    Bei Erfolg gibt dieser Befehl ARN Verbindungsinformationen zurück, die den folgenden ähneln.

    { "ConnectionArn": "arn:aws:codestar-connections:us-west-2:account_id:connection/aEXAMPLE-8aad" }
  2. Verwenden Sie die Konsole, um die ausstehende Verbindung einzurichten.

  3. Die Pipeline erkennt standardmäßig Änderungen, wenn der Code an das Quell-Repository der Verbindung weitergeleitet wird. Gehen Sie wie folgt vor, um die Pipeline-Trigger-Konfiguration für die manuelle Veröffentlichung oder für Git-Tags zu konfigurieren:

    • Um die Pipeline-Trigger-Konfiguration so zu konfigurieren, dass sie nur mit einer manuellen Veröffentlichung beginnt, fügen Sie der Konfiguration die folgende Zeile hinzu:

      "DetectChanges": "false",
    • Weitere Informationen zur Konfiguration der Pipeline-Trigger zum Filtern mit Triggern finden Sie unterTrigger für Code-Push- oder Pull-Anfragen filtern. Im Folgenden wird beispielsweise die Pipeline-Ebene der JSON Pipeline-Definition erweitert. In diesem Beispiel release-v1 sind release-v0 und die Git-Tags, die eingeschlossen werden sollen, und release-v2 ist das Git-Tag, das ausgeschlossen werden soll.

      "triggers": [ { "providerType": "CodeStarSourceConnection", "gitConfiguration": { "sourceActionName": "Source", "push": [ { "tags": { "includes": [ "release-v0", "release-v1" ], "excludes": [ "release-v2" ] } } ] } } ]