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 (VAE), Europa (Spanien), Europa (Zürich), Israel (Tel Aviv) oder AWS GovCloud (US-West) nicht verfügbar. Informationen 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 erhalten 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 GitLab, in dem Sie die Rolle „Besitzer“ haben. Anschließend können Sie die Verbindung mit Ressourcen wie CodePipeline verwenden. Bei Repositorys in Gruppen müssen Sie nicht der Gruppenbesitzer sein.

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

    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 ein temporäres PAT erstellen. Nachdem Sie den Host eingerichtet haben, können Sie das PAT löschen.

  • Sie können sich dafür entscheiden, Ihren Host im Voraus einzurichten. Sie können einen Host mit oder ohne VPC einrichten. Einzelheiten zur VPC-Konfiguration und zusätzliche Informationen zum Erstellen eines Hosts finden Sie unter Host erstellen.

Stellen Sie eine Verbindung zur GitLab selbstverwalteten (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 abzuschließen, 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 aus. 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 selbstverwaltetem System 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 unter URL den Endpunkt für Ihren Server ein.

    Anmerkung

    Wenn die angegebene URL bereits verwendet wurde, um einen Host für eine Verbindung einzurichten, werden Sie aufgefordert, den Host-Ressourcen-ARN auszuwählen, der zuvor für diesen Endpunkt erstellt wurde.

  3. Wenn Sie Ihren Server in einer Amazon VPC gestartet haben und eine Verbindung zu Ihrer VPC herstellen möchten, wählen Sie Use a VPC aus und geben Sie die Informationen für die VPC ein.

  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 wird die URL verwendet.

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

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

  7. Eine Seite Hostname einrichten wird angezeigt. Geben Sie unter Persönliches Zugriffstoken bereitstellen Ihrem GitLab PAT nur die folgende eingeschränkte Berechtigung:. api

    Anmerkung

    Nur ein Administrator kann das PAT erstellen und verwenden.

    Klicken Sie auf Weiter.

    Screenshot der Konsole, der den Eintrag für das GitLab selbstverwaltete persönliche Zugriffstoken für den neuen Host zeigt
  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, damit Downstream-Aktionen Git-Befehle direkt ausführen können, wählen Sie Full clone (Vollständiger Klon). Diese Option kann nur von CodeBuild nachgelagerten 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 der CLI hergestellt haben oder verwenden Sie die Konsole AWS CloudFormation, um die Verbindung so zu bearbeiten, dass sie ihren Status festlegtAVAILABLE.

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 der CLI abgeschlossen haben, 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 der CLI erstellt haben, verwenden Sie die Konsole oder die CLI, um den Host so einzurichten, dass er seinen Status annimmtAvailable.

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"

    Wenn der Befehl erfolgreich ausgeführt wurde, gibt er die Amazon-Ressourcenname (ARN)-Informationen zum Host ähnlich der folgenden zurück.

    { "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

    Wenn der Befehl erfolgreich ausgeführt wurde, gibt er die ARN-Informationen der Verbindung ähnlich der folgenden zurück.

    { "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 Pipeline-JSON-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" ] } } ] } } ]