Referenz der CodePipeline-Pipeline-Struktur - AWS CodePipeline

Referenz der CodePipeline-Pipeline-Struktur

Standardmäßig hat jede in AWS CodePipeline erfolgreich erstellte Pipeline eine gültige Struktur. Wenn Sie jedoch eine JSON-Datei manuell erstellen oder bearbeiten, um eine Pipeline über die AWS CLI zu erstellen oder zu aktualisieren, könnten Sie unbeabsichtigt eine Struktur schaffen, die nicht gültig ist. Die folgende Referenz kann Ihnen dabei helfen, die Anforderungen hinsichtlich der Struktur Ihrer Pipeline besser zu verstehen und Probleme zu beheben. Beachten Sie die Einschränkungen in Kontingente in AWS CodePipeline, die für alle Pipelines gelten.

Gültige Aktionstypen und Anbieter in CodePipeline

Das Pipeline-Struktur-Format wird verwendet, um Aktionen und Phasen in einer Pipeline zu erstellen. Ein Aktionstyp besteht aus einer Aktionskategorie und einem Anbietertyp.

Nachfolgend sehen Sie die gültigen Aktionskategorien in CodePipeline:

  • Source

  • Entwicklung

  • Test

  • Bereitstellen

  • Genehmigung

  • Aufrufen

Jede Aktionskategorie verfügt über einen designierten Satz von Anbietern. Jeder Aktionsanbieter, z. B. Amazon S3, hat einen Anbieternamen, etwa S3, der im Provider-Feld in der Aktionskategorie in der Pipeline-Struktur verwendet werden muss.

Es gibt drei gültige Werte für die Owner im Abschnitt „Action Category“ (Aktionskategorie) in Ihrer Pipeline-Struktur: AWS, , und Sie haben die Möglichkeit ThirdParty, und Custom.

Informationen zum Anbieternamen und Eigentümerinformationen für Ihren Aktionsanbieter finden Sie unter Referenz der Aktionsstruktur oder Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp.

Diese Tabelle führt die gültigen Anbieter nach Aktionstyp auf.

Gültige Aktionsanbieter nach Aktionstyp
Aktionskategorie Gültige Aktionsanbieter Aktionsreferenz
Source Amazon S3 Amazon S3
Amazon ECR Amazon ECR
CodeCommit CodeCommit
CodeStarSourceConnection (Bitbucket, GitHub, , und Sie haben die Möglichkeit GitHub Unternehmensserver) CodeStarSourceConnection
Entwicklung CodeBuild AWS CodeBuild
Benutzerdefiniert CloudBees Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
Benutzerdefiniert Jenkins Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
Benutzerdefiniert TeamCity Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
Test CodeBuild AWS CodeBuild
AWS Device Farm Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
Benutzerdefiniert BlazeMeter Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
ThirdParty GhostInspector Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
Benutzerdefiniert Jenkins Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
ThirdParty Mikrofokus StormRunner Laden Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
ThirdParty Veranstaltungsraum "Nouvola" Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
ThirdParty Runscope (Ausführungsbereich) Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
Bereitstellen Amazon S3 Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
AWS CloudFormation AWS CloudFormation
CodeDeploy Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
Amazon ECS Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
Amazon ECS (blau/grün) (dies ist die CodeDeployToECS-Aktion) Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
Elastic Beanstalk Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
AWS AppConfig AWS AppConfig
AWS OpsWorks Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
AWS Service Catalog Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
Amazon Alexa Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
Benutzerdefiniert XebiaLabs Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
Genehmigung Manuell Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp
Aufrufen AWS Lambda AWS Lambda
AWS Step Functions AWS Step Functions

Einige Aktionstypen in CodePipeline sind nur in ausgewählten AWS-Regionen verfügbar. Es ist möglich, dass ein Aktionstyp in einer AWS-Region verfügbar ist, aber ein AWS-Anbieter für diesen Aktionstyp nicht verfügbar ist.

Weitere Informationen zu den einzelnen Aktionsanbietern finden Sie unter Integrationen mit CodePipeline-Aktionstypen.

In den folgenden Abschnitten finden Sie Beispiele für Anbieterinformationen und Konfigurationseigenschaften für jeden Aktionstyp.

Anforderungen an die Pipeline- und Phasenstruktur in CodePipeline

Eine zweiphasige Pipeline hat die folgende Grundstruktur:

{ "roleArn": "An IAM ARN for a service role, such as arn:aws:iam::80398EXAMPLE:role/AWS-CodePipeline-Service", "stages": [ { "name": "SourceStageName", "actions": [ ... See Anforderungen an die Aktionsstruktur in CodePipeline ... ] }, { "name": "NextStageName", "actions": [ ... See Anforderungen an die Aktionsstruktur in CodePipeline ... ] } ], "artifactStore": { "type": "S3", "location": "The name of the Amazon S3 bucket automatically generated for you the first time you create a pipeline using the console, such as codepipeline-us-east-2-1234567890, or any Amazon S3 bucket you provision for this purpose" }, "name": "YourPipelineName", "version": 1 }

Die Pipeline-Struktur hat folgende Anforderungen:

  • Eine Pipeline muss mindestens zwei Phasen enthalten.

  • Die erste Phase einer Pipeline muss mindestens eine Quellaktion enthalten. Sie darf nur Quellaktionen enthalten.

  • Nur die erste Phase einer Pipeline kann Quellaktionen enthalten.

  • Mindestens eine Phase in jeder Pipeline muss eine Aktion enthalten, die keine Quellaktion ist.

  • Alle Namen von Phasen in einer Pipeline müssen eindeutig sein.

  • Namen von Phasen können nicht in der CodePipeline-Konsole bearbeitet werden. Wenn Sie einen Phasennamen mithilfe der AWS CLI, und die Stufe enthält eine Aktion mit einem oder mehreren Secret-Parametern (z. B. OAuth Token), wird der Wert dieser geheimen Parameter nicht beibehalten. Sie müssen die Werte der Parameter (die in der von der AWS CLI zurückgegebenen JSON mit vier Sternchen maskiert sind) manuell in die JSON-Struktur eingeben.

  • Das Feld artifactStore enthält den Artefakt-Bucket-Typ und den Speicherort für eine Pipeline mit allen Aktionen in derselben AWS-Region. Wenn Sie Aktionen in einer anderen Region als Ihre Pipeline hinzufügen, wird die artifactStores-Zuweisung verwendet, um den Artefakt-Bucket für jede AWS-Region, in der Aktionen ausgeführt werden, aufzuführen. Wenn Sie eine Pipeline erstellen oder bearbeiten, müssen Sie einen Artefakt-Bucket in der Pipelineregion haben, sowie einen Artefakt-Bucket für jede Region, in der Sie eine Aktion ausführen möchten.

    Das folgende Beispiel zeigt die grundlegende Struktur für eine Pipeline mit regionsübergreifenden Aktionen, die den artifactStores-Parameter verwendet:

    "pipeline": { "name": "YourPipelineName", "roleArn": "ServiceRoleARN", "artifactStores": { "us-east-1": { "type": "S3", "location": "S3 artifact bucket name, such as codepipeline-us-east-1-1234567890" }, "us-west-2": { "type": "S3", "location": "S3 artifact bucket name, such as codepipeline-us-west-2-1234567890" } }, "stages": [ { ...
  • Die Pipeline-Metadatenfelder unterscheiden sich von der Pipelinestruktur und können nicht bearbeitet werden. Wenn Sie eine Pipeline aktualisieren, wird das Datum im Metadatenfeld updated automatisch geändert.

  • Wenn Sie eine Pipeline bearbeiten oder aktualisieren, kann der Pipelinename nicht geändert werden.

    Anmerkung

    Wenn Sie eine vorhandene Pipeline umbenennen möchten, können Sie mit dem CLI-Befehl get-pipeline eine JSON-Datei erstellen, die die Struktur Ihrer Pipeline enthält. Anschließend können Sie mit dem CLI-Befehl create-pipeline eine Pipeline mit dieser Struktur erstellen und ihr einen neuen Namen geben.

Die Versionsnummer einer Pipeline wird bei jedem Pipeline-Update automatisch generiert und aktualisiert.

Anforderungen an die Aktionsstruktur in CodePipeline

Eine Aktion hat die folgende anspruchsvolle Struktur:

[ { "inputArtifacts": [ An input artifact structure, if supported for the action category ], "name": "ActionName", "region": "Region", "namespace": "source_namespace", "actionTypeId": { "category": "An action category", "owner": "AWS", "version": "1" "provider": "A provider type for the action category", }, "outputArtifacts": [ An output artifact structure, if supported for the action category ], "configuration": { Configuration details appropriate to the provider type }, "runOrder": A positive integer that indicates the run order within the stage, } ]

Eine Liste der Beispiel-configuration Details für den jeweiligen Anbietertyp finden Sie unter Konfigurationsdetails nach Anbietertyp.

Die Aktionsstruktur hat folgende Anforderungen:

  • Alle Aktionsnamen in einer Phase müssen eindeutig sein.

  • Das Eingabeartefakt einer Aktion muss genau mit dem Ausgabeartefakt übereinstimmen, das in einer vorherigen Aktion deklariert wurde. Wenn beispielsweise eine vorherige Aktion die folgende Erklärung enthält:

    "outputArtifacts": [ { "MyApp" } ],

    und keine anderen Ausgabeartefakte vorhanden sind, muss das Eingabeartefakt einer nachfolgenden Aktion folgendermaßen lauten:

    "inputArtifacts": [ { "MyApp" } ],

    Dies trifft für alle Aktionen zu, unabhängig davon, ob sie in derselben Phase oder in folgenden Phasen enthalten sind. Das Eingabeartefakt muss aber nicht die nächste Aktion sein, die strikt auf die Aktion folgt, von der das Ausgabeartefakt bereitgestellt wurde. Parallele Aktionen können unterschiedliche Ausgabeartefaktpakete deklarieren, die im Gegenzug von verschiedenen Folgeaktionen genutzt werden.

    In der folgenden Abbildung ist ein Beispiel für Eingabe- und Ausgabeartefakte in Aktionen in einer Pipeline dargestellt:

    
                        Ein Beispiel zu Eingabe- und Ausgabeartefakten in Aktionen in einer Pipeline.
  • Namen von Ausgabeartefakten müssen in einer Pipeline eindeutig sein. Beispielsweise kann eine Pipeline eine Aktion mit einem Ausgabeartefakt mit dem Namen "MyApp" und eine weitere Aktion mit einem Ausgabeartefakt namens "MyBuiltApp". (z. B. Eine Pipeline kann jedoch nicht zwei Aktionen enthalten, die beide über ein Ausgabeartefakt mit dem Namen "MyApp".

  • Regionsübergreifende Aktionen verwenden das Feld Region zur Angabe der AWS-Region, in der die Aktionen erstellt werden sollen. Die für diese Aktion generierten AWS-Ressourcen müssen in der gleichen Region erstellt werden, die im Feld region angegeben ist. Für die folgenden Aktionstypen können Sie keine regionsübergreifenden Aktionen erstellen:

    • Quellaktionen

    • Aktionen von Drittanbietern

    • Aktionen von benutzerdefinierten Anbietern

  • Aktionen können mit Variablen konfiguriert werden. Sie legen die Namespace- und Variableninformationen für Ausführungsvariablen im Feld namespace fest. Referenzinformationen zu Ausführungsvariablen und Aktionsausgabevariablen finden Sie unter Variables.

  • Für alle aktuell unterstützten Aktionstypen ist "1" die einzig gültige Zeichenfolge für die Version.

  • Für alle aktuell unterstützten Aktionstypen sind "AWS", "ThirdParty" oder "Custom" die einzig gültigen Zeichenfolgen für die Eigentümer. Weitere Informationen finden Sie in der CodePipeline-API-Referenz.

  • Der standardmäßige runOrder-Wert für eine Aktion ist 1. Der Wert muss eine positive Ganzzahl (natürliche Zahl) sein. Sie können keine Bruchzahlen, Dezimalzahlen, negative Zahlen oder Null verwenden. Für eine serielle Reihenfolge von Aktionen geben Sie die niedrigste Zahl für die erste Aktion und höhere Zahlen für jede der verbleibenden Aktionen in der Abfolge an. Parallele Aktionen geben Sie an, indem Sie dieselbe Ganzzahl für jede Aktion verwenden, die parallel ausgeführt werden soll. In der -Konsole können Sie eine serielle Sequenz für eine Aktion angeben, indem Sie Aktionsgruppe hinzufügen auf der Ebene in der Stufe, in der sie ausgeführt werden soll, oder Sie können eine parallele Sequenz angeben, indem Sie Aktion hinzufügen. Aktionsgruppe bezieht sich auf eine Ausführungsreihenfolge von einer oder mehreren Aktionen auf derselben Ebene.

    Wenn Sie beispielsweise drei Aktionen der Reihe nach in einer Phase ausführen möchten, geben Sie der ersten Aktion den runOrder-Wert 1, der zweiten Aktion den runOrder-Wert 2 und der dritten den runOrder-Wert 3. Wenn Sie jedoch die zweite und dritte Aktion parallel ausführen möchten, geben Sie der ersten Aktion den runOrder-Wert 1 und sowohl der zweiten als auch der dritten Aktion den runOrder-Wert 2.

    Anmerkung

    Die Nummerierung aufeinanderfolgender Aktionen muss nicht in strenger Reihenfolge sein. Wenn Sie beispielsweise drei Aktionen in einer Reihenfolge haben und die zweite Aktion entfernen möchten, müssen Sie den runOrder-Wert der dritten Aktion nicht neu nummerieren. Da der runOrder-Wert dieser Aktion (3) höher ist als der runOrder-Wert der ersten Aktion (1), wird sie nach der ersten Aktion in der Phase ausgeführt.

  • Wenn Sie einen Amazon S3-Bucket als Bereitstellungsort verwenden, müssen Sie auch einen Objektschlüssel angeben. Ein Objektschlüssel kann ein Dateiname (Objekt) oder eine Kombination aus Präfix (Ordnerpfad) und Dateiname sein. Sie können Variablen verwenden, um den Namen des Speicherorts anzugeben, den die Pipeline verwenden soll. Amazon S3-Bereitstellungsaktionen unterstützen die Verwendung der folgenden Variablen in Amazon S3-Objektschlüsseln.

    Verwenden von Variablen in Amazon S3
    Variable Beispiel für Konsoleneingabe Ausgabe
    datetime js-application/{datetime}.zip UTC-Zeitstempel in diesem Format: < (z. B.Veranstaltungsraum "YYYY">-< (>-<)Mehrweg>- (z. B.Durchschn.> _< (Übereinstimmung mit dem/derHochgeschwindigkeit>-< (>-<)Mehrweg>-< (>-<)Edelstahl> (zwischen den

    Beispiel:

    js-application/2019-01-10_07-39-57.zip

    uuid js-application/{uuid}.zip Die UUID ist ein global eindeutiger Bezeichner, der garantiert mit keinem der vorhandenen Bezeichner identisch ist. Die UUID hat das Format (alle Ziffern im Hexadezimalformat): <8-Ziffern>-<4-Ziffern>-4-Ziffern>-<4-Ziffern>-<12-Ziffern>

    Beispiel:

    js-application/54a60075-b96a-4bf3-9013-db3a9EXAMPLE.zip

  • Dies sind die gültigen actionTypeId-Kategorien für CodePipeline:

    • Source

    • Build

    • Approval

    • Deploy

    • Test

    • Invoke

    Einige Anbietertypen und Konfigurationsoptionen werden hier angegeben.

  • Welche Anbietertypen für eine Aktionskategorie gültig sind, hängt von der Kategorie ab. Für einen Quellaktionstyp ist beispielsweise ein gültiger Anbietertyp S3, , und Sie haben die Möglichkeit GitHub, , und Sie haben die Möglichkeit CodeCommit, oder Amazon ECR. (z. B.. Dieses Beispiel zeigt die Struktur für eine Quellaktion mit einem S3 Leistungserbringer:

    "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3"},
  • Jede Aktion muss eine gültige Aktionskonfiguration aufweisen in Abhängigkeit zum Anbietertyp für diese Aktion. In der folgenden Tabelle sind die erforderlichen Aktionskonfigurationselemente für jeden gültigen Anbietertyp aufgeführt:

    Aktionskonfigurationseigenschaften für Anbietertypen
    Name des Anbieters Anbietername in Aktionstyp Konfigurationseigenschaften Erforderliche Eigenschaft?
    Amazon S3 (Anbieter von Bereitstellungsaktionen) S3 BucketName Erforderlich
    Extract Erforderlich
    ObjectKey Erforderlich, wenn Extract = false
    KMSEncryptionKeyARN1 Optional
    CannedACL2 Optional
    CacheControl3 Optional
    Amazon ECR Weitere Informationen, einschließlich Beispiele im Zusammenhang mit Amazon ECR-Parametern, finden Sie unter Amazon ECR.
    CodeCommit Weitere Informationen, einschließlich Beispiele im Zusammenhang mit CodeCommit-Parametern, finden Sie unter CodeCommit.
    GitHub Weitere Informationen, einschließlich Beispiele im Zusammenhang mit GitHub-Parametern, finden Sie unter GitHub Version 1 Quellaktionsstrukturreferenz.
    Amazon S3 (Anbieter von Quellaktionen) Weitere Informationen einschließlich Beispielen für Amazon S3-Quellaktionsparameter finden Sie unter Amazon S3.
    AWS CloudFormation Weitere Informationen, einschließlich Beispiele im Zusammenhang mit AWS CloudFormation-Parametern, finden Sie unter AWS CloudFormation.
    CodeBuild Weitere Informationen und Beispiele für CodeBuild-Parameter finden Sie unter AWS CodeBuild.
    CodeDeploy Weitere Informationen und Beispiele für CodeDeploy-Parameter finden Sie unter AWS CodeDeploy.
    AWS Device Farm Weitere Informationen und Beispiele für AWS Device Farm-Parameter finden Sie unter AWS Device Farm.
    AWS Elastic Beanstalk ElasticBeanstalk ApplicationName Erforderlich
    EnvironmentName Erforderlich
    AWS Lambda Weitere Informationen, einschließlich Beispiele im Zusammenhang mit AWS Lambda-Parametern, finden Sie unter AWS Lambda.
    AWS OpsWorks Stacks OpsWorks Stack Erforderlich
    Layer Optional
    App Erforderlich
    Amazon ECS Weitere Informationen und Beispiele für Amazon ECS-Parameter finden Sie unter Amazon Elastic Container Service.
    Amazon ECS und CodeDeploy(blau/grün) Für weitere Beschreibungen und Beispiele in Bezug auf Amazon ECS und CodeDeploy Parameter blau/grün, siehe Amazon Elastic Container Service und CodeDeploy Blau-Grün.
    AWS Service Catalog ServiceCatalog TemplateFilePath Erforderlich
    ProductVersionName Erforderlich
    ProductType Erforderlich
    ProductVersionDescription Optional
    ProductId Erforderlich
    Alexa Skills Kit AlexaSkillsKit ClientId Erforderlich
    ClientSecret Erforderlich
    RefreshToken Erforderlich
    SkillId Erforderlich
    Jenkins Der Name der Aktion, die Sie im CodePipeline-Plug-in für Jenkins (z. B. MyJenkinsProviderName) ProjectName Erforderlich
    Manuelle Genehmigung Manual CustomData Optional
    ExternalEntityLink Optional
    NotificationArn Optional

    1Der Parameter KMSEncryptionKeyARN verschlüsselt hochgeladene Artefakte mit dem angegebenen KMS-Schlüssel. Für einen AWS-KMS-Schlüssel können Sie die Schlüssel-ID, den Schlüssel-ARN oder den Alias-ARN verwenden.

    Anmerkung

    Um einen Kundenmasterschlüssel (CMK) in einem anderen AWS-Konto anzugeben, müssen Sie den Schlüssel-ARN oder den Alias-ARN verwenden.

    Wichtig

    CodePipeline unterstützt nur symmetrische Kundenmasterschlüssel (Customer Master Keys, CMKs). Verwenden Sie keinen asymmetrischen CMK, um die Daten im S3-Bucket zu verschlüsseln.

    2Der Parameter CannedACL wendet die angegebene vordefinierte ACL auf in Amazon S3 bereitgestellte Objekte an. Dadurch werden alle auf das Objekt angewandten vorhandenen ACLs überschrieben.

    3Der Parameter CacheControl steuert das Caching-Verhalten für Anforderungen/Antworten für Objekte im Bucket. Eine Liste der gültigen Werte finden Sie im Cache-Control-Header-Feld für HTTP-Operationen. Um mehrere Werte in CacheControl einzugeben, verwenden Sie ein Komma zwischen den einzelnen Werten. Sie können nach jedem Komma ein Leerzeichen hinzufügen (optional), wie in diesem Beispiel für die CLI gezeigt:

    "CacheControl": "public, max-age=0, no-transform"

Anzahl der Eingabe- und Ausgabe-Artefakte für jeden Aktionstyp

Je nach Aktionstyp können Sie die folgenden Zahlen für Eingabe- und Ausgabeartefakte verwenden:

Aktionstypbedingungen für Artefakte
Eigentümer Aktionstyp Anbieter Gültige Zahl der Eingabeartefakte Gültige Zahl der Ausgabeartefakte
AWS Source Amazon S3 0 1
AWS Source CodeCommit 0 1
AWS Source Amazon ECR 0 1
ThirdParty Source GitHub 0 1
AWS Entwicklung CodeBuild 1 bis 5 0 bis 5
AWS Test CodeBuild 1 bis 5 0 bis 5
AWS Test AWS Device Farm 1 0
AWS Genehmigung Manuell 0 0
AWS Bereitstellen Amazon S3 1 0
AWS Bereitstellen AWS CloudFormation 0 bis 10 0 bis 1
AWS Bereitstellen CodeDeploy 1 0
AWS Bereitstellen AWS Elastic Beanstalk 1 0
AWS Bereitstellen AWS OpsWorks Stacks 1 0
AWS Bereitstellen Amazon ECS 1 0
AWS Bereitstellen AWS Service Catalog 1 0
AWS Aufrufen AWS Lambda 0 bis 5 0 bis 5
ThirdParty Bereitstellen Alexa Skills Kit 1 bis 2 0
Benutzerdefiniert Entwicklung Jenkins 0 bis 5 0 bis 5
Benutzerdefiniert Test Jenkins 0 bis 5 0 bis 5
Benutzerdefiniert Jede unterstützte Kategorie Wie in der benutzerdefinierten Aktion angegeben 0 bis 5 0 bis 5

Standardeinstellungen für die PollForSourceChanges Parameter (Parameter)

Der Standard für den Parameter PollForSourceChanges wird von der Methode festgelegt, mit der die Pipeline erstellt wird, wie in der nachfolgenden Tabelle beschrieben. In vielen Fällen ist die Standardeinstellung für den Parameter PollForSourceChanges „true“ und muss deaktiviert werden. Wenn der PollForSourceChanges-Parameter standardmäßig „true“ ist, sollten Sie wie folgt vorgehen:

  • Fügen Sie den Parameter PollForSourceChanges der JSON-Datei oder der AWS CloudFormation-Vorlage hinzu.

  • Erstellen von Ressourcen für die Änderungserkennung (CloudWatch-Ereignisse Regel, falls zutreffend).

  • Stellen Sie den PollForSourceChanges-Parameter auf "false" ein.

    Anmerkung

    Wenn Sie eine CloudWatch-Ereignisse-Regel oder ein Webhook erstellen, müssen Sie den Parameter auf „false“ setzen, um zu verhindern, dass die Pipeline mehr als einmal ausgelöst wird.

    Der PollForSourceChanges-Parameter wird nicht für Amazon ECR-Quellaktionen verwendet.

  • PollForSourceChanges Standardwerte für Parameter
    Source Erstellungsmethode Beispiel für „Konfiguration“ JSON-Struktur-Ausgabe
    CodeCommit Pipeline wird mit der Konsole erstellt (und die Konsole erstellt Änderungserkennungsressourcen). Der Parameter wird in der Pipeline-Strukturausgabe angezeigt und ist standardmäßig false.
    BranchName": "master", "PollForSourceChanges": "false", "RepositoryName": "my-repo"
    Die Pipeline wird mit der CLI oder AWS CloudFormation, und die PollForSourceChanges Parameter wird nicht in der JSON-Ausgabe angezeigt, aber wird es um zu sehen, true
    BranchName": "master", "RepositoryName": "my-repo"
    Amazon S3 Pipeline wird mit der Konsole erstellt (und die Konsole erstellt Änderungserkennungsressourcen). Der Parameter wird in der Pipeline-Strukturausgabe angezeigt und ist standardmäßig false.
    "S3Bucket": "my-bucket", "S3ObjectKey": "object.zip", "PollForSourceChanges": "false"
    Die Pipeline wird mit der CLI oder AWS CloudFormation erstellt. Der Parameter PollForSourceChanges wird nicht in der JSON-Ausgabe angezeigt, ist jedoch auf true festgelegt.²
    "S3Bucket": "my-bucket", "S3ObjectKey": "object.zip"
    GitHub Pipeline wird mit der Konsole erstellt (und die Konsole erstellt Änderungserkennungsressourcen). Der Parameter wird in der Pipeline-Strukturausgabe angezeigt und ist standardmäßig false.
    "Owner": "MyGitHubAccountName", "Repo": "MyGitHubRepositoryName" "PollForSourceChanges": "false", "Branch": "master" "OAuthToken": "****"
    Die Pipeline wird mit der CLI oder AWS CloudFormation, und die PollForSourceChanges Parameter wird nicht in der JSON-Ausgabe angezeigt, aber wird es um zu sehen, true
    "Owner": "MyGitHubAccountName", "Repo": "MyGitHubRepositoryName", "Branch": "master", "OAuthToken": "****"

    ² Wenn PollForSourceChanges zu irgendeinem Zeitpunkt der JSON-Struktur oder der AWS CloudFormation-Vorlage hinzugefügt wurde, wird dies wie folgt angezeigt:

    "PollForSourceChanges": "true",

    ³ Informationen zu den Ressourcen für die Änderungserkennung, die für die einzelnen Quellanbieter gelten, finden Sie im Artikel zu Änderungserkennungsmethoden.

Konfigurationsdetails nach Anbietertyp

In diesem Abschnitt werden gültige configuration-Parameter für jeden Aktionsanbieter aufgeführt.

Das folgende Beispiel zeigt eine gültige Konfiguration für eine Bereitstellungsaktion, die AWS Service Catalog verwendet, für eine ohne separate Konfigurationsdatei in der Konsole erstellte Pipeline:

"configuration": { "TemplateFilePath": "S3_template.json", "ProductVersionName": "devops S3 v2", "ProductType": "CLOUD_FORMATION_TEMPLATE", "ProductVersionDescription": "Product version description", "ProductId": "prod-example123456" }

Das folgende Beispiel zeigt eine gültige Konfiguration für eine Bereitstellungsaktion, die AWS Service Catalog verwendet, für eine mit der separaten Konfigurationsdatei sample_config.json in der Konsole erstellte Pipeline:

"configuration": { "ConfigurationFilePath": "sample_config.json", "ProductId": "prod-example123456" }

Das folgende Beispiel zeigt eine gültige Konfiguration für eine Bereitstellungsaktion, für die das Alexa Skills Kit verwendet wird:

"configuration": { "ClientId": "amzn1.application-oa2-client.aadEXAMPLE", "ClientSecret": "****", "RefreshToken": "****", "SkillId": "amzn1.ask.skill.22649d8f-0451-4b4b-9ed9-bfb6cEXAMPLE" }

Das folgende Beispiel zeigt eine gültige Konfiguration für eine Bereitstellungsaktion, die Amazon S3 verwendet:

"configuration": { "BucketName": "website-bucket", "Extract": "true", "ObjectKey": "MyWebsite" }

Das folgende Beispiel zeigt eine gültige Konfiguration für eine manuelle Genehmigung:

"configuration": { "CustomData": "Comments on the manual approval", "ExternalEntityLink": "http://my-url.com", "NotificationArn": "arn:aws:sns:us-west-2:12345EXAMPLE:Notification" }