Anhang A: Quellaktionen für GitHub Version 1 - 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.

Anhang A: Quellaktionen für GitHub Version 1

Dieser Anhang enthält Informationen zu Version 1 der GitHub Aktion in CodePipeline.

Anmerkung

Wir empfehlen zwar nicht, die Aktion GitHub Version 1 zu verwenden, aber bestehende Pipelines mit der Aktion GitHub Version 1 funktionieren weiterhin ohne Auswirkungen. CodePipeline Verwendet bei einer Pipeline mit einer Aktion der GitHub Version 1 OAuth basierte Token, um eine Verbindung zu Ihrem GitHub Repository herzustellen. Im Gegensatz dazu verwendet die GitHub Aktion (Version 2) eine Verbindungsressource, um AWS Ressourcen mit Ihrem GitHub Repository zu verknüpfen. Die Verbindungsressource verwendet App-basierte Token, um eine Verbindung herzustellen. Weitere Informationen zur Aktualisierung Ihrer Pipeline auf die empfohlene GitHub Aktion, die eine Verbindung verwendet, finden Sie unterAktualisieren Sie eine Quellaktion von GitHub Version 1 auf eine Quellaktion GitHub von Version 2. Weitere Informationen zum OAuth basierten GitHub Zugriff im Gegensatz zum appbasierten GitHub Zugriff finden Sie unterhttps://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps.

Für die Integration GitHub CodePipeline verwendet eine GitHub OAuth Anwendung für Ihre Pipeline. CodePipelineverwendet Webhooks, um die Änderungserkennung für Ihre Pipeline mit der Quellaktion der GitHub Version 1 zu verwalten.

Anmerkung

Wenn Sie eine Quellaktion der GitHub Version 2 in konfigurieren AWS CloudFormation, fügen Sie keine GitHub Token-Informationen hinzu und fügen keine Webhook-Ressource hinzu. Sie konfigurieren eine Verbindungsressource wie unter AWS:CodeStarConnections: :Connection im AWS CloudFormation Benutzerhandbuch beschrieben.

Diese Referenz enthält die folgenden Abschnitte für die Aktion GitHub Version 1:

Wichtig

Verwenden Sie beim Erstellen von CodePipeline Webhooks nicht Ihre eigenen Anmeldeinformationen und verwenden Sie nicht dasselbe geheime Token für mehrere Webhooks. Generieren Sie für optimale Sicherheit für jeden Webhook, den Sie erstellen, ein eindeutiges geheimes Token. Das geheime Token ist eine willkürliche Zeichenfolge, die Sie angeben und die zur Berechnung und Signierung der gesendeten Webhook-Payloads GitHub verwendet wird CodePipeline, um die Integrität und Authentizität der Webhook-Payloads zu schützen. Die Verwendung Ihrer eigenen Anmeldeinformationen oder die Wiederverwendung desselben Tokens in mehreren Webhooks kann zu Sicherheitslücken führen.

Anmerkung

Wenn ein geheimes Token bereitgestellt wurde, wird es in der Antwort redigiert.

Eine Quellaktion der GitHub Version 1 hinzufügen

Sie fügen Quellaktionen der GitHub Version 1 hinzu, CodePipeline indem Sie:

  • Verwenden Sie die CodePipeline Konsole, um den Assistenten zum Erstellen von Pipelines (Erstellen Sie eine benutzerdefinierte Pipeline (Konsole)) oder die Aktionsseite Bearbeiten zu verwenden, um die GitHubAnbieteroption auszuwählen. Die Konsole erstellt einen Webhook, der Ihre Pipeline startet, wenn sich die Quelle ändert.

  • Verwenden vonCLI, um die Aktionskonfiguration für die GitHub Aktion hinzuzufügen und zusätzliche Ressourcen wie folgt zu erstellen:

    • Verwenden Sie die GitHub Beispiel-Aktionskonfiguration inGitHub Referenz zur Quellaktion von Version 1, um die Aktion zu erstellen, wie unter gezeigtErstellen Sie eine Pipeline (CLI).

    • Regelmäßige Prüfungen werden deaktiviert und die Änderungserkennung manuell erstellt, da die Methode zur Änderungserkennung standardmäßig die Pipeline durch Abfragen der Quelle startet. Sie migrieren Ihre Polling-Pipeline für Aktionen der Version 1 auf Webhooks. GitHub

GitHub Referenz zur Quellaktion von Version 1

Anmerkung

Wir empfehlen zwar nicht, die Aktion GitHub Version 1 zu verwenden, aber bestehende Pipelines mit der Aktion GitHub Version 1 funktionieren weiterhin ohne Auswirkungen. CodePipeline Verwendet bei einer Pipeline mit einer Quellaktion der GitHub GitHub Version 1 OAuth basierte Token, um eine Verbindung zu Ihrem GitHub Repository herzustellen. Im Gegensatz dazu verwendet die neue GitHub Aktion (Version 2) eine Verbindungsressource, um AWS Ressourcen mit Ihrem GitHub Repository zu verknüpfen. Die Verbindungsressource verwendet App-basierte Token, um eine Verbindung herzustellen. Weitere Informationen zur Aktualisierung Ihrer Pipeline auf die empfohlene GitHub Aktion, die eine Verbindung verwendet, finden Sie unterAktualisieren Sie eine Quellaktion von GitHub Version 1 auf eine Quellaktion GitHub von Version 2.

Löst die Pipeline aus, wenn ein neuer Commit für das konfigurierte GitHub Repository und den Branch vorgenommen wird.

CodePipeline Verwendet zur Integration GitHub eine OAuth Anwendung oder ein persönliches Zugriffstoken für Ihre Pipeline. Wenn Sie die Konsole verwenden, um Ihre Pipeline zu erstellen oder zu bearbeiten, CodePipeline erstellt sie einen GitHub Webhook, der Ihre Pipeline startet, wenn eine Änderung im Repository erfolgt.

Sie müssen bereits ein GitHub Konto und ein Repository erstellt haben, bevor Sie die Pipeline über eine GitHub Aktion verbinden können.

Wenn Sie den Zugriff auf CodePipeline Repositorys einschränken möchten, erstellen Sie ein GitHub Konto und gewähren Sie dem Konto nur Zugriff auf die Repositorys, in die Sie integrieren möchten. CodePipeline Verwenden Sie dieses Konto, wenn Sie die Verwendung von GitHub Repositorys für Quellstufen in Pipelines konfigurieren CodePipeline .

Weitere Informationen finden Sie in der GitHub Entwicklerdokumentation auf der GitHub Website.

Aktionstyp

  • Kategorie: Source

  • Eigentümer: ThirdParty

  • Anbieter: GitHub

  • Version: 1

Konfigurationsparameter

Eigentümer

Erforderlich: Ja

Der Name des GitHub Benutzers oder der Organisation, dem das GitHub Repository gehört.

Repo

Erforderlich: Ja

Der Name des Repositorys, in dem Quelländerungen erkannt werden sollen.

Verzweigung

Erforderlich: Ja

Der Name des Zweigs, in dem Quelländerungen erkannt werden sollen.

OAuthToken

Erforderlich: Ja

Stellt das GitHub Authentifizierungstoken dar, das CodePipeline die Ausführung von Vorgängen in Ihrem GitHub Repository ermöglicht. Die Eingabe wird stets als Maske mit vier Sternchen angezeigt. Sie stellt einen der folgenden Werte dar:

  • Wenn Sie die Konsole verwenden, um die Pipeline zu erstellen, CodePipeline verwendet ein OAuth Token, um die GitHub Verbindung zu registrieren.

  • Wenn Sie die Pipeline AWS CLI zum Erstellen der Pipeline verwenden, können Sie in diesem Feld Ihr GitHub persönliches Zugriffstoken übergeben. Ersetzen Sie die Sternchen (****) durch Ihr persönliches Zugriffstoken, von dem Sie kopiert wurden. GitHub Wenn Sie get-pipeline ausführen, um die Aktionskonfiguration anzuzeigen, wird dieser Wert durch vier Sternchen maskiert angezeigt.

  • Wenn Sie eine AWS CloudFormation Vorlage verwenden, um die Pipeline zu erstellen, müssen Sie das Token zunächst als Secret in speichern. AWS Secrets Manager Sie fügen den Wert für dieses Feld als dynamischen Verweis auf das gespeicherte Geheimnis in Secrets Manager ein, z. {{resolve:secretsmanager:MyGitHubSecret:SecretString:token}} B.

Weitere Informationen zu GitHub Bereichen finden Sie in der GitHub APIEntwicklerreferenz auf der GitHub Website.

PollForSourceChanges

Erforderlich: Nein

PollForSourceChangessteuert, ob das GitHub Repository nach Quellenänderungen CodePipeline abfragt. Es wird empfohlen, stattdessen Webhooks zu verwenden, um Quelländerungen zu erkennen. Weitere Informationen zum Konfigurieren von Webhooks finden Sie unter Migrieren Sie Polling-Pipelines zu Webhooks (Quellaktionen der GitHub Version 1) () CLI oder Aktualisieren Sie die Pipelines für Push-Ereignisse (Quellaktionen der GitHub Version 1) (AWS CloudFormation Vorlage).

Wichtig

Wenn Sie Webhooks konfigurieren möchten, müssen Sie PollForSourceChanges auf false festlegen, um doppelte Pipeline-Ausführungen zu vermeiden.

Gültige Werte für diesen Parameter sind:

  • True: Falls gesetzt, CodePipeline fragt dein Repository nach Quelländerungen ab.

    Anmerkung

    Wenn Sie diese Option weglassenPollForSourceChanges, wird CodePipeline standardmäßig Ihr Repository nach Quelländerungen abgefragt. Dieses Verhalten ist das gleiche, als ob PollForSourceChanges auf true festgelegt würde.

  • False: Falls gesetzt, fragt dein Repository CodePipeline nicht nach Quelländerungen ab. Sie verwenden diese Einstellung, wenn Sie einen Webhook konfigurieren möchten, um Quelländerungen zu erkennen.

Input artifacts (Eingabeartefakte)

  • Anzahl der Artefakte: 0

  • Beschreibung: Eingabe-Artefakte sind für diesen Aktionstyp nicht gültig.

Ausgabeartefakte

  • Anzahl der Artefakte: 1

  • Beschreibung: Das Ausgabeartefakt dieser Aktion ist eine ZIP Datei, die den Inhalt des konfigurierten Repositorys und den Branch im Commit enthält, der als Quellrevision für die Pipeline-Ausführung angegeben wurde. Die aus dem Repository generierten Artefakte sind die Ausgabeartefakte für die GitHub Aktion. Die Quellcode-Commit-ID wird CodePipeline als Quellrevision für die ausgelöste Pipeline-Ausführung angezeigt.

Ausgabevariablen

Wenn dies konfiguriert ist, werden durch diese Aktion Variablen erzeugt, die von der Aktionskonfiguration einer nachgeschalteten Aktion in der Pipeline referenziert werden können. Diese Aktion erzeugt Variablen, die als Ausgabevariablen angezeigt werden können, auch wenn die Aktion keinen Namespace hat. Sie konfigurieren eine Aktion mit einem Namespace, um diese Variablen für die Konfiguration nachgeschalteter Aktionen zur Verfügung zu stellen.

Weitere Hinweise zu Variablen in CodePipeline finden Sie unterVariablen-Referenz.

CommitId

Die GitHub Commit-ID, die die Pipeline-Ausführung ausgelöst hat. Commit IDs sind der vollständige SHA Teil des Commits.

CommitMessage

Die Beschreibungsmeldung (wenn vorhanden), die dem Commit zugeordnet ist, der die Pipeline-Ausführung ausgelöst hat.

CommitUrl

Die URL Adresse für den Commit, der die Pipeline ausgelöst hat.

RepositoryName

Der Name des GitHub Repositorys, in dem der Commit, der die Pipeline ausgelöst hat, vorgenommen wurde.

BranchName

Der Name des Branches für das GitHub Repository, in dem die Quellenänderung vorgenommen wurde.

AuthorDate

Das Datum im Zeitstempelformat, an dem der Commit erstellt wurde.

CommitterDate

Das Datum im Zeitstempelformat, an dem der Commit durchgeführt wurde.

Aktionsdeklaration (GitHub-Beispiel)

YAML
Name: Source Actions: - InputArtifacts: [] ActionTypeId: Version: '1' Owner: ThirdParty Category: Source Provider: GitHub OutputArtifacts: - Name: SourceArtifact RunOrder: 1 Configuration: Owner: MyGitHubAccountName Repo: MyGitHubRepositoryName PollForSourceChanges: 'false' Branch: main OAuthToken: '{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}' Name: ApplicationSource
JSON
{ "Name": "Source", "Actions": [ { "InputArtifacts": [], "ActionTypeId": { "Version": "1", "Owner": "ThirdParty", "Category": "Source", "Provider": "GitHub" }, "OutputArtifacts": [ { "Name": "SourceArtifact" } ], "RunOrder": 1, "Configuration": { "Owner": "MyGitHubAccountName", "Repo": "MyGitHubRepositoryName", "PollForSourceChanges": "false", "Branch": "main", "OAuthToken": "{{resolve:secretsmanager:MyGitHubSecret:SecretString:token}}" }, "Name": "ApplicationSource" } ] },

Verbindung herstellen zu GitHub (OAuth)

Wenn Sie die Konsole zum ersten Mal verwenden, um einer Pipeline ein GitHub Repository hinzuzufügen, werden Sie aufgefordert, den CodePipeline Zugriff auf Ihre Repositorys zu autorisieren. Das Token erfordert die folgenden Bereiche: GitHub

  • Den repo- Umfang, der für die volle Kontrolle verwendet wird, um Artefakte aus öffentlichen und privaten Repositorys in eine Pipeline zu lesen und einzufügen.

  • Den admin:repo_hook Umfang, der für die volle Kontrolle über Repository-Hooks verwendet wird.

Wenn Sie die Vorlage CLI oder eine AWS CloudFormation Vorlage verwenden, müssen Sie den Wert für ein persönliches Zugriffstoken angeben, das Sie bereits erstellt haben. GitHub

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.