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.
Tutorial: Vollständigen Klon mit einer GitHub Pipeline-Quelle verwenden
Sie können die Option „Vollständiges Klonen“ für Ihre GitHub Quellaktion unter auswählen CodePipeline. Verwenden Sie diese Option, um CodeBuild Befehle für Git-Metadaten in Ihrer Pipeline-Build-Aktion auszuführen.
Anmerkung
Die hier beschriebene Option zum vollständigen Klonen bezieht sich auf die Angabe, ob Repository-Metadaten geklont werden CodePipeline sollen. Diese können nur von CodeBuild Befehlen verwendet werden. Um ein GitHub Benutzerzugriffstoken
Wichtig
Im Rahmen der Erstellung einer Pipeline wird ein vom Kunden bereitgestellter S3-Artefakt-Bucket von CodePipeline for Artifacts verwendet. (Dies unterscheidet sich von dem Bucket, der für eine S3-Quellaktion verwendet wird.) Wenn sich der S3-Artefakt-Bucket in einem anderen Konto befindet als das Konto für Ihre Pipeline, stellen Sie sicher, dass der S3-Artefakt-Bucket denjenigen gehört AWS-Konten , die sicher und zuverlässig sind.
In diesem Tutorial erstellen Sie eine Pipeline, die eine Verbindung zu Ihrem GitHub Repository herstellt, die vollständige Klonoption für Quelldaten verwendet und einen CodeBuild Build ausführen, der Ihr Repository klont und Git-Befehle für das Repository ausführt.
Anmerkung
Diese Funktion ist in den Regionen Asien-Pazifik (Hongkong), Afrika (Kapstadt), Naher Osten (Bahrain), Europa (Zürich) und AWS GovCloud (USA West) nicht verfügbar. Weitere verfügbare Aktionen finden Sie unterProdukt- 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.
Themen
Voraussetzungen
Sie benötigen Folgendes, um starten zu können:
-
Erstellen Sie mit Ihrem GitHub Konto ein GitHub Repository.
-
Halten Sie Ihre GitHub Anmeldedaten bereit. Wenn Sie den verwenden AWS Management Console , um eine Verbindung herzustellen, werden Sie aufgefordert, sich mit Ihren GitHub Anmeldeinformationen anzumelden.
Schritt 1: Erstellen Sie eine README Datei
Nachdem Sie Ihr GitHub Repository erstellt haben, gehen Sie wie folgt vor, um eine README Datei hinzuzufügen.
-
Loggen Sie sich in Ihr GitHub Repository ein und wählen Sie Ihr Repository aus.
-
Um eine neue Datei zu erstellen, wähle Datei hinzufügen > Neue Datei erstellen. Benennen Sie die Datei
README.md
. Datei und fügen Sie den folgenden Text hinzu.This is a GitHub repository!
-
Wählen Sie Commit changes (Änderungen übernehmen) aus.
Die Datei
README.md
muss sich im Stammverzeichnis Ihres Repositorys befinden.
Schritt 2: Erstellen Sie Ihre Pipeline und erstellen Sie ein Projekt
In diesem Abschnitt erstellen Sie eine Pipeline mit den folgenden Aktionen:
-
Eine Quellphase mit einer Verbindung zu Ihrem GitHub Repository und Ihrer Aktion.
-
Eine Build-Phase mit einer AWS CodeBuild Build-Aktion.
So erstellen Sie mit dem Assistenten eine Pipeline
-
Melden Sie sich bei der CodePipeline Konsole an unter https://console.aws.amazon.com/codepipeline/
. -
Wählen Sie auf der Seite Welcome (Willkommen) die Option Getting started (Erste Schritte) oder auf der Seite Pipelines die Option Create pipeline (Pipeline erstellen).
-
Geben Sie unter Step 1: Choose pipeline settings (Schritt 1: Auswahl der Pipeline-Einstellungen) unter Pipeline name (Pipeline-Name)
MyGitHubPipeline
ein. -
Wählen Sie im Feld Pipeline-Typ die Option V1 für die Zwecke dieses Tutorials aus. Sie können auch V2 wählen. Beachten Sie jedoch, dass sich die Pipeline-Typen in ihren Eigenschaften und im Preis unterscheiden. Weitere Informationen finden Sie unter Arten von Pipelines.
-
Wählen Sie unter Service role (Servicerolle) die Option New service role (Neue Servicerolle).
Anmerkung
Wenn Sie stattdessen Ihre bestehende CodePipeline Servicerolle verwenden möchten, stellen Sie sicher, dass Sie die
codestar-connections:UseConnection
IAM entsprechende Berechtigung zu Ihrer Richtlinie für Servicerollen hinzugefügt haben. Anweisungen für die CodePipeline Servicerolle finden Sie unter Hinzufügen von Berechtigungen zur CodePipeline Servicerolle. -
Lassen Sie die Standardwerte bei Erweiterte Einstellungen unverändert. Wählen Sie unter Artifact store (Artefaktspeicher) die Option Default location (Standardstandort) aus, um den Standard-Artefakt-Speicherort für die Pipeline in der entsprechenden Region zu verwenden, beispielsweise mit dem Amazon S3-Artefakt-Bucket als Standard.
Anmerkung
Dabei handelt es sich nicht um den Quell-Bucket für Ihren Quellcode, sondern um den Artefaktspeicher für Ihre Pipeline. Für jede Pipeline benötigen Sie einen separaten Artefaktspeicher, z. B. einen S3 Bucket.
Wählen Sie Next (Weiter).
-
Fügen Sie auf der Seite Step 2: Add source stage (Schritt 2: Quell-Stufe hinzufügen) eine Quellphase hinzu:
-
Wählen Sie unter Quellanbieter die Option GitHub (Version 2) aus.
-
Wählen Sie unter Verbindung eine bestehende Verbindung aus oder erstellen Sie eine neue. Informationen zum Erstellen oder Verwalten einer Verbindung für Ihre GitHub Quellaktion finden Sie unterGitHub Verbindungen.
Sie installieren eine App für alle Verbindungen mit einem bestimmten Anbieter. Wenn Sie den AWS Connector für die GitHub App bereits installiert haben, wählen Sie ihn aus und überspringen Sie diesen Schritt.
Anmerkung
Wenn Sie ein Benutzerzugriffstoken
erstellen möchten, stellen Sie sicher, dass Sie den AWS Connector für die GitHub App bereits installiert haben, und lassen Sie dann das Feld App-Installation leer. CodeConnections verwendet das Benutzerzugriffstoken für die Verbindung. Weitere Informationen finden Sie unter Zugriff auf Ihren Quellanbieter in CodeBuild. -
Wählen Sie unter Repository-Name den Namen Ihres GitHub Repositorys aus.
-
Wählen Sie unter Branch-Name den Repository-Branch aus, den Sie verwenden möchten.
-
Stellen Sie sicher, dass die Option Starten der Pipeline bei Änderung des Quellcodes ausgewählt ist.
-
Wählen Sie unter Ausgabeartefaktformat die Option Vollständiger Klon aus, um die Git-Clone-Option für das Quell-Repository zu aktivieren. Nur Aktionen, die von bereitgestellt werden, CodeBuild können die Git-Clone-Option verwenden. Schritt 3: Aktualisieren Sie die CodeBuild Servicerollenrichtlinie, um Verbindungen zu verwendenIn diesem Tutorial erfahren Sie, wie Sie die Berechtigungen für Ihre CodeBuild Projektservice-Rolle aktualisieren, sodass Sie diese Option verwenden können.
Wählen Sie Weiter.
-
-
Fügen Sie unter Add build stage (Build-Phase hinzufügen) eine Build-Phase hinzu:
-
Wählen Sie unter Build provider (Build-Anbieter) die Option AWS CodeBuild aus. Belassen Sie unter Region als Standardeinstellung die Pipeline-Region.
-
Wählen Sie Create project (Projekt erstellen) aus.
-
Geben Sie unter Project name (Projektname) einen Namen für dieses Build-Projekt ein.
-
Wählen Sie für Environment image (Umgebungs-Image) die Option Managed image (Verwaltetes Image) aus. Wählen Sie für Operating system (Betriebssystem) die Option Ubuntu aus.
-
Wählen Sie unter Runtime (Laufzeit) die Option Standard aus. Wählen Sie für Image (Abbild) die Option aws/codebuild/standard:5.0 aus.
-
Wählen Sie unter Service role (Servicerolle) die Option New service role (Neue Servicerolle) aus.
Anmerkung
Notieren Sie sich den Namen Ihrer CodeBuild Servicerolle. Sie benötigen den Rollennamen für den letzten Schritt in diesem Tutorial.
-
Wählen Sie unter BuildSpec bei Build specifications (Build-Spezifikationen) die Option Insert build commands (Build-Befehle einfügen) aus. Wählen Sie Zum Editor wechseln und fügen Sie Folgendes unter Build-Befehle ein.
Anmerkung
Stellen Sie im
env
Abschnitt der Build-Spezifikation sicher, dass der Credential-Helper für Git-Befehle aktiviert ist, wie in diesem Beispiel gezeigt.version: 0.2 env: git-credential-helper: yes phases: install: #If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions. #If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails. runtime-versions: nodejs: 12 # name: version #commands: # - command # - command pre_build: commands: - ls -lt - cat README.md build: commands: - git log | head -100 - git status - ls - git archive --format=zip HEAD > application.zip #post_build: #commands: # - command # - command artifacts: files: - application.zip # - location #name: $(date +%Y-%m-%d) #discard-paths: yes #base-directory: location #cache: #paths: # - paths
-
Wählen Sie Weiter zu. CodePipeline Dadurch kehren Sie zur CodePipeline Konsole zurück und erstellen ein CodeBuild Projekt, das Ihre Build-Befehle für die Konfiguration verwendet. Das Build-Projekt verwendet eine Servicerolle zur Verwaltung von AWS-Service Berechtigungen. Dieser Vorgang kann einige Minuten dauern.
-
Wählen Sie Weiter.
-
-
Wählen Sie auf der Seite Step 4: Add deploy stage (Schritt 4: Bereitstellungsstufe hinzufügen) die Option Skip deploy stage (Bereitstellungsstufe überspringen) aus und akzeptieren Sie anschließend die Warnmeldung, indem Sie erneut Skip (Überspringen) auswählen. Wählen Sie Weiter.
-
Wählen Sie unter Step 5: Review (Schritt 5: Überprüfen) die Option Create pipeline (Pipeline erstellen) aus.
Schritt 3: Aktualisieren Sie die CodeBuild Servicerollenrichtlinie, um Verbindungen zu verwenden
Der erste Pipeline-Lauf schlägt fehl, da die CodeBuild Servicerolle mit Berechtigungen zur Verwendung von Verbindungen aktualisiert werden muss. Fügen Sie die codestar-connections:UseConnection
IAM Berechtigung zu Ihrer Servicerollenrichtlinie hinzu. Anweisungen zum Aktualisieren der Richtlinie in der IAM Konsole finden Sie unterFügen Sie CodeBuild GitClone Berechtigungen für Verbindungen zu Bitbucket, Enterprise Server oder .com GitHub hinzu GitHub GitLab.
Schritt 4: Repository-Befehle in der Build-Ausgabe anzeigen
-
Wenn Ihre Servicerolle erfolgreich aktualisiert wurde, wählen Sie in der CodeBuild Phase „Fehlgeschlagen“ die Option „Erneut versuchen“.
-
Wenn die Pipeline erfolgreich ausgeführt wurde, wählen Sie in der erfolgreichen Buildphase die Option Details anzeigen aus.
Wählen Sie auf der Detailseite die Registerkarte Protokolle aus. Sehen Sie sich die CodeBuild Build-Ausgabe an. Die Befehle geben den Wert der eingegebenen Variablen aus.
Die Befehle geben den
README.md
Dateiinhalt aus, listen die Dateien im Verzeichnis auf, klonen das Repository, zeigen das Protokoll an und archivieren das Repository als ZIP Datei.