View a markdown version of this page

Anhang A: GitHub Quellaktionen (über die OAuth-App) - 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: GitHub Quellaktionen (über die OAuth-App)

Dieser Anhang enthält Informationen zur Aktion GitHub (über die OAuth-App) in. CodePipeline

Anmerkung

Wir empfehlen zwar nicht, die Aktion GitHub (über die OAuth-App) zu verwenden, aber bestehende Pipelines mit der Aktion GitHub (über die OAuth-App) funktionieren weiterhin ohne Auswirkungen. Bei einer Pipeline mit einer Aktion GitHub (über die OAuth-App) werden Tokens CodePipeline verwendet OAuth-based , um eine Verbindung zu deinem Repository herzustellen. GitHub Im Gegensatz dazu verwendet die GitHub Aktion (per GitHub App) eine Verbindungsressource, um AWS Ressourcen mit deinem 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 GitHub (über die OAuth-App) auf eine Quellaktion GitHub (über die GitHub App). Weitere Informationen zum OAuth-based GitHub Zugriff im Gegensatz zum App-basierten GitHub Zugriff finden Sie unterhttps://docs.github.com/en/developers/apps/differences-between-github-apps-and-oauth-apps.

CodePipeline Verwendet für die Integration GitHub eine GitHub OAuth-Anwendung für Ihre Pipeline. CodePipelineverwendet Webhooks, um die Änderungserkennung für Ihre Pipeline mit der Quellaktion GitHub (über die OAuth-App) zu verwalten.

Anmerkung

Wenn Sie eine Quellaktion GitHub (über die GitHub App) in konfigurieren CloudFormation, geben Sie keine GitHub Token-Informationen an und fügen auch keine Webhook-Ressource hinzu. Sie konfigurieren eine Verbindungsressource, wie in AWS::CodeStarConnections: :Connection im CloudFormation Benutzerhandbuch gezeigt.

Diese Referenz enthält die folgenden Abschnitte für die Aktion GitHub (über die OAuth-App):

Wichtig

Verwenden Sie beim Erstellen von CodePipeline Webhooks nicht Ihre eigenen Anmeldeinformationen und verwenden Sie nicht dasselbe geheime Token für mehrere Webhooks wieder. Generieren Sie für optimale Sicherheit ein eindeutiges geheimes Token für jeden Webhook, den Sie erstellen. Das geheime Token ist eine beliebige Zeichenfolge, die Sie angeben und mit der die GitHub Webhook-Payloads berechnet und signiert werden, an die gesendeten Webhook-Payloads 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.

Hinzufügen einer GitHub Quellaktion (über die OAuth-App)

Sie fügen GitHub (über die OAuth-App) Quellaktionen hinzu, indem Sie: CodePipeline

  • Verwenden Sie den Assistenten zum Erstellen einer Pipeline in der CodePipeline Konsole (Erstellen Sie eine benutzerdefinierte Pipeline (Konsole)) oder auf der Aktionsseite „Bearbeiten“, um die GitHub Anbieteroption auszuwählen. Die Konsole erstellt einen Webhook, der Ihre Pipeline startet, wenn sich die Quelle ändert.

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

    • Verwenden Sie die GitHub Beispiel-Aktionskonfiguration unterGitHub Referenz zur Quellaktion (über die OAuth-App), um die Aktion zu erstellen, wie unter gezeigtErstellen einer Pipeline (CLI).

    • Deaktivierung regelmäßiger Überprüfungen und manuelles Erstellen der Änderungserkennung, da bei der Methode zur Änderungserkennung standardmäßig die Pipeline durch Abfragen der Quelle gestartet wird. Sie migrieren Ihre Polling-Pipeline für Aktionen GitHub (über die OAuth-App) zu Webhooks.

GitHub Referenz zur Quellaktion (über die OAuth-App)

Anmerkung

Wir empfehlen zwar nicht, die Aktion GitHub (über die OAuth-App) zu verwenden, aber bestehende Pipelines mit der Aktion GitHub (über die OAuth-App) funktionieren weiterhin ohne Auswirkungen. Bei einer Pipeline mit einer Quellaktion GitHub (über die OAuth-App) werden Tokens CodePipeline verwendet OAuth-based , um eine Verbindung zu deinem Repository herzustellen. GitHub Im Gegensatz dazu verwendet die neue GitHub Aktion (per GitHub App) eine Verbindungsressource, um AWS Ressourcen mit deinem 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 GitHub (über die OAuth-App) auf eine Quellaktion GitHub (über die GitHub App).

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

CodePipeline Verwendet für die 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.

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, mit denen Sie eine Integration durchführen möchten. CodePipeline Verwenden Sie dieses Konto, wenn Sie die Verwendung von GitHub Repositorys für Quellphasen 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/der 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, mit CodePipeline dem Operationen in Ihrem GitHub Repository ausgeführt werden können. 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 verwenden, AWS CLI um die Pipeline zu erstellen, 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 CloudFormation Vorlage verwenden, um die Pipeline zu erstellen, müssen Sie das Token zunächst als Geheimnis 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 Developer API Reference auf der GitHub Website.

PollForSourceChanges

Erforderlich: Nein

PollForSourceChangessteuert, ob das GitHub Repository nach Quelländerungen CodePipeline abgefragt wird. 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 GitHub (über die OAuth-App) (Quellaktionen) (CLI) oder Aktualisieren Sie die Pipelines für Push-Ereignisse GitHub (über die OAuth-App) (Quellaktionen) (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 es dein Repository nach Änderungen an der Quelle ab.

    Anmerkung

    Wenn du es auslässtPollForSourceChanges, wird dein Projektarchiv CodePipeline standardmäßig nach Änderungen an der Quelle abgefragt. Dieses Verhalten ist das gleiche, als ob PollForSourceChanges auf true festgelegt würde.

  • False: Wenn gesetzt, fragt dein Projektarchiv CodePipeline nicht nach Änderungen an der Quelle 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 Ausgabe-Artefakt dieser Aktion ist eine ZIP-Datei, die den Inhalt des konfigurierten Repositorys und Zweigs beim 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 Commit-ID des Quellcodes wird CodePipeline als Quellversion 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 unterVariablenreferenz.

CommitId

Die GitHub Commit-ID, die die Pipeline-Ausführung ausgelöst hat. Commit-IDs sind der vollständige SHA 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 vorgenommen wurde, der die Pipeline ausgelöst hat.

BranchName

Der Name des Branches für das GitHub Repository, in dem die Quellä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.

Aktionserklärung (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 zu GitHub (OAuth) herstellen

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 CLI oder eine 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.