CodePipeline Beispiele mit AWS CLI - AWS Command Line Interface

Diese Dokumentation bezieht sich AWS CLI nur auf Version 1 von. Dokumentation zu Version 2 von finden Sie im Benutzerhandbuch für Version 2. AWS CLI

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.

CodePipeline Beispiele mit AWS CLI

Die folgenden Codebeispiele zeigen Ihnen, wie Sie mithilfe von AWS Command Line Interface with Aktionen ausführen und allgemeine Szenarien implementieren CodePipeline.

Aktionen sind Codeauszüge aus größeren Programmen und müssen im Kontext ausgeführt werden. Während Aktionen Ihnen zeigen, wie Sie einzelne Servicefunktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien und serviceübergreifenden Beispiele sehen.

Szenarien sind Codebeispiele, die Ihnen zeigen, wie Sie eine bestimmte Aufgabe ausführen können, indem Sie mehrere Funktionen innerhalb desselben Services aufrufen.

Jedes Beispiel enthält einen Link zu GitHub, wo Sie Anweisungen zum Einrichten und Ausführen des Codes im Kontext finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt die Verwendungacknowledge-job.

AWS CLI

Um Informationen zu einem bestimmten Job abzurufen

In diesem Beispiel werden Informationen zu einem angegebenen Auftrag zurückgegeben, einschließlich des Status dieses Auftrags, falls dieser vorhanden ist. Dies wird nur für Jobworker und benutzerdefinierte Aktionen verwendet. Verwenden Sie aws poll-for-jobs codepipeline, um den Wert von nonce und die Job-ID zu ermitteln.

Befehl:

aws codepipeline acknowledge-job --job-id f4f4ff82-2d11-EXAMPLE --nonce 3

Ausgabe:

{ "status": "InProgress" }

Das folgende Codebeispiel zeigt die Verwendungcreate-custom-action-type.

AWS CLI

Um eine benutzerdefinierte Aktion zu erstellen

In diesem Beispiel wird eine benutzerdefinierte Aktion für die AWS CodePipeline Verwendung einer bereits erstellten JSON-Datei (hier MyCustomAction .json genannt) erstellt, die die Struktur der benutzerdefinierten Aktion enthält. Weitere Informationen zu den Anforderungen für die Erstellung einer benutzerdefinierten Aktion, einschließlich der Struktur der Datei, finden Sie im AWS CodePipeline Benutzerhandbuch.

aws codepipeline create-custom-action-type --cli-input-json file://MyCustomAction.json

Inhalt der JSON-DateiMyCustomAction.json:

{ "category": "Build", "provider": "MyJenkinsProviderName", "version": "1", "settings": { "entityUrlTemplate": "https://192.0.2.4/job/{Config:ProjectName}/", "executionUrlTemplate": "https://192.0.2.4/job/{Config:ProjectName}/lastSuccessfulBuild/{ExternalExecutionId}/" }, "configurationProperties": [ { "name": "MyJenkinsExampleBuildProject", "required": true, "key": true, "secret": false, "queryable": false, "description": "The name of the build project must be provided when this action is added to the pipeline.", "type": "String" } ], "inputArtifactDetails": { "maximumCount": 1, "minimumCount": 0 }, "outputArtifactDetails": { "maximumCount": 1, "minimumCount": 0 } }

Dieser Befehl gibt die Struktur der benutzerdefinierten Aktion zurück.

Das folgende Codebeispiel zeigt die Verwendungcreate-pipeline.

AWS CLI

Um eine Pipeline zu erstellen

In diesem Beispiel wird eine Pipeline AWS CodePipeline unter Verwendung einer bereits erstellten JSON-Datei (hier MySecondPipeline .json genannt) erstellt, die die Struktur der Pipeline enthält. Weitere Informationen zu den Anforderungen für die Erstellung einer Pipeline, einschließlich der Struktur der Datei, finden Sie im AWS CodePipeline Benutzerhandbuch.

Befehl:

aws codepipeline create-pipeline --cli-input-json file://MySecondPipeline.json

Inhalt des Beispiels für eine JSON-Datei:

{ "pipeline": { "roleArn": "arn:aws:iam::111111111111:role/AWS-CodePipeline-Service", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "awscodepipeline-demo-bucket", "S3ObjectKey": "aws-codepipeline-s3-aws-codedeploy_linux.zip" }, "runOrder": 1 } ] }, { "name": "Beta", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "CodePipelineDemoFleet", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "codepipeline-us-east-1-11EXAMPLE11" }, "name": "MySecondPipeline", "version": 1 } }

Ausgabe:

This command returns the structure of the pipeline.
  • Einzelheiten zur API finden Sie CreatePipelinein der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungdelete-custom-action-type.

AWS CLI

Um eine benutzerdefinierte Aktion zu löschen

In diesem Beispiel AWS CodePipeline wird eine benutzerdefinierte Aktion mithilfe einer bereits erstellten JSON-Datei (hier DeleteMyCustomAction .json genannt) gelöscht, die den Aktionstyp, den Anbieternamen und die Versionsnummer der zu löschenden Aktion enthält. Verwenden Sie den list-action-types Befehl, um die richtigen Werte für Kategorie, Version und Anbieter anzuzeigen.

Befehl:

aws codepipeline delete-custom-action-type --cli-input-json file://DeleteMyCustomAction.json

Inhalt des Beispiels für eine JSON-Datei:

{ "category": "Build", "version": "1", "provider": "MyJenkinsProviderName" }

Ausgabe:

None.

Das folgende Codebeispiel zeigt die Verwendungdelete-pipeline.

AWS CLI

Um eine Pipeline zu löschen

In diesem Beispiel wird eine Pipeline mit dem Namen MySecondPipeline von AWS CodePipeline gelöscht. Verwenden Sie den Befehl list-pipelines, um eine Liste der Pipelines anzuzeigen, die Ihrem Konto zugeordnet sind. AWS

Befehl:

aws codepipeline delete-pipeline --name MySecondPipeline

Ausgabe:

None.
  • Einzelheiten zur API finden Sie unter DeletePipelineBefehlsreferenz.AWS CLI

Das folgende Codebeispiel zeigt die Verwendungdelete-webhook.

AWS CLI

Um einen Webhook zu löschen

Im folgenden delete-webhook Beispiel wird ein Webhook für eine Quellaktion der GitHub Version 1 gelöscht. Sie müssen den deregister-webhook-with-third-party Befehl verwenden, um den Webhook zu deregistrieren, bevor Sie ihn löschen.

aws codepipeline delete-webhook \ --name my-webhook

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie im Benutzerhandbuch unter Löschen des Webhooks für Ihre GitHub Quelle.AWS CodePipeline

  • Einzelheiten zur API finden Sie DeleteWebhookin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungderegister-webhook-with-third-party.

AWS CLI

Um einen Webhook abzumelden

Im folgenden deregister-webhook-with-third-party Beispiel wird ein Webhook für eine GitHub Quellaktion der Version 1 gelöscht. Sie müssen den Webhook abmelden, bevor Sie ihn löschen.

aws codepipeline deregister-webhook-with-third-party \ --webhook-name my-webhook

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie im Benutzerhandbuch unter Löschen des Webhooks für Ihre GitHub Quelle.AWS CodePipeline

Das folgende Codebeispiel zeigt die Verwendungdisable-stage-transition.

AWS CLI

Um einen Übergang zu einer Phase in einer Pipeline zu deaktivieren

In diesem Beispiel werden Übergänge in die Betaphase der MyFirstPipeline Pipeline in AWS CodePipeline deaktiviert.

Befehl:

aws codepipeline disable-stage-transition --pipeline-name MyFirstPipeline --stage-name Beta --transition-type Inbound

Ausgabe:

None.

Das folgende Codebeispiel zeigt die Verwendungenable-stage-transition.

AWS CLI

Um einen Übergang zu einer Phase in einer Pipeline zu ermöglichen

Dieses Beispiel ermöglicht Übergänge in die Betaphase der MyFirstPipeline Pipeline in AWS CodePipeline.

Befehl:

aws codepipeline enable-stage-transition --pipeline-name MyFirstPipeline --stage-name Beta --transition-type Inbound

Ausgabe:

None.

Das folgende Codebeispiel zeigt die Verwendungget-job-details.

AWS CLI

Um Details zu einem Job abzurufen

In diesem Beispiel werden Details zu einem Job zurückgegeben, dessen ID durch F4F4FF82-2D11-Example dargestellt wird. Dieser Befehl wird nur für benutzerdefinierte Aktionen verwendet. Wenn dieser Befehl aufgerufen wird, werden temporäre Anmeldeinformationen für den Amazon S3 S3-Bucket AWS CodePipeline zurückgegeben, der zum Speichern von Artefakten für die Pipeline verwendet wird, falls dies für die benutzerdefinierte Aktion erforderlich ist. Dieser Befehl gibt auch alle geheimen Werte zurück, die für die Aktion definiert wurden, sofern welche definiert wurden.

Befehl:

aws codepipeline get-job-details --job-id f4f4ff82-2d11-EXAMPLE

Ausgabe:

{ "jobDetails": { "accountId": "111111111111", "data": { "actionConfiguration": { "__type": "ActionConfiguration", "configuration": { "ProjectName": "MyJenkinsExampleTestProject" } }, "actionTypeId": { "__type": "ActionTypeId", "category": "Test", "owner": "Custom", "provider": "MyJenkinsProviderName", "version": "1" }, "artifactCredentials": { "__type": "AWSSessionCredentials", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "secretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "sessionToken": "fICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE=" }, "inputArtifacts": [ { "__type": "Artifact", "location": { "s3Location": { "bucketName": "codepipeline-us-east-1-11EXAMPLE11", "objectKey": "MySecondPipeline/MyAppBuild/EXAMPLE" }, "type": "S3" }, "name": "MyAppBuild" } ], "outputArtifacts": [], "pipelineContext": { "__type": "PipelineContext", "action": { "name": "MyJenkinsTest-Action" }, "pipelineName": "MySecondPipeline", "stage": { "name": "Testing" } } }, "id": "f4f4ff82-2d11-EXAMPLE" } }
  • Einzelheiten zur API finden Sie GetJobDetailsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-pipeline-state.

AWS CLI

Um Informationen über den Status einer Pipeline zu erhalten

In diesem Beispiel wird der letzte Status einer Pipeline mit dem Namen zurückgegeben MyFirstPipeline.

Befehl:

aws codepipeline get-pipeline-state --name MyFirstPipeline

Ausgabe:

{ "created": 1446137312.204, "pipelineName": "MyFirstPipeline", "pipelineVersion": 1, "stageStates": [ { "actionStates": [ { "actionName": "Source", "entityUrl": "https://console.aws.amazon.com/s3/home?#", "latestExecution": { "lastStatusChange": 1446137358.328, "status": "Succeeded" } } ], "stageName": "Source" }, { "actionStates": [ { "actionName": "CodePipelineDemoFleet", "entityUrl": "https://console.aws.amazon.com/codedeploy/home?#/applications/CodePipelineDemoApplication/deployment-groups/CodePipelineDemoFleet", "latestExecution": { "externalExecutionId": "d-EXAMPLE", "externalExecutionUrl": "https://console.aws.amazon.com/codedeploy/home?#/deployments/d-EXAMPLE", "lastStatusChange": 1446137493.131, "status": "Succeeded", "summary": "Deployment Succeeded" } } ], "inboundTransitionState": { "enabled": true }, "stageName": "Beta" } ], "updated": 1446137312.204 }
  • Einzelheiten zur API finden Sie GetPipelineStateunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungget-pipeline.

AWS CLI

Um die Struktur einer Pipeline anzuzeigen

In diesem Beispiel wird die Struktur einer Pipeline mit dem Namen zurückgegeben MyFirstPipeline.

Befehl:

aws codepipeline get-pipeline --name MyFirstPipeline

Ausgabe:

{ "pipeline": { "roleArn": "arn:aws:iam::111111111111:role/AWS-CodePipeline-Service", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "awscodepipeline-demo-bucket", "S3ObjectKey": "aws-codepipeline-s3-aws-codedeploy_linux.zip" }, "runOrder": 1 } ] }, { "name": "Beta", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "CodePipelineDemoFleet", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "codepipeline-us-east-1-11EXAMPLE11" }, "name": "MyFirstPipeline", "version": 1 } }
  • Einzelheiten zur API finden Sie GetPipelineunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-action-executions.

AWS CLI

Um die Ausführung von Aktionen aufzulisten

Im folgenden list-action-executions Beispiel werden Details zur Aktionsausführung für eine Pipeline angezeigt, z. B. die Aktionsausführungs-ID, Eingabeartefakte, Ausgabeartefakte, Ausführungsergebnis und Status.

aws codepipeline list-action-executions \ --pipeline-name myPipeline

Ausgabe:

{ "actionExecutionDetails": [ { "pipelineExecutionId": "EXAMPLE0-adfc-488e-bf4c-1111111720d3", "actionExecutionId": "EXAMPLE4-2ee8-4853-bd6a-111111158148", "pipelineVersion": 12, "stageName": "Deploy", "actionName": "Deploy", "startTime": 1598572628.6, "lastUpdateTime": 1598572661.255, "status": "Succeeded", "input": { "actionTypeId": { "category": "Deploy", "owner": "AWS", "provider": "CodeDeploy", "version": "1" }, "configuration": { "ApplicationName": "my-application", "DeploymentGroupName": "my-deployment-group" }, "resolvedConfiguration": { "ApplicationName": "my-application", "DeploymentGroupName": "my-deployment-group" }, "region": "us-east-1", "inputArtifacts": [ { "name": "SourceArtifact", "s3location": { "bucket": "artifact-bucket", "key": "myPipeline/SourceArti/key" } } ], "namespace": "DeployVariables" }, "output": { "outputArtifacts": [], "executionResult": { "externalExecutionId": "d-EXAMPLEE5", "externalExecutionSummary": "Deployment Succeeded", "externalExecutionUrl": "https://myaddress.com" }, "outputVariables": {} } }, { "pipelineExecutionId": "EXAMPLE0-adfc-488e-bf4c-1111111720d3", "actionExecutionId": "EXAMPLE5-abb4-4192-9031-11111113a7b0", "pipelineVersion": 12, "stageName": "Source", "actionName": "Source", "startTime": 1598572624.387, "lastUpdateTime": 1598572628.16, "status": "Succeeded", "input": { "actionTypeId": { "category": "Source", "owner": "AWS", "provider": "CodeCommit", "version": "1" }, "configuration": { "BranchName": "production", "PollForSourceChanges": "false", "RepositoryName": "my-repo" }, "resolvedConfiguration": { "BranchName": "production", "PollForSourceChanges": "false", "RepositoryName": "my-repo" }, "region": "us-east-1", "inputArtifacts": [], "namespace": "SourceVariables" }, "output": { "outputArtifacts": [ { "name": "SourceArtifact", "s3location": { "bucket": "my-bucket", "key": "myPipeline/SourceArti/key" } } ], "executionResult": { "externalExecutionId": "1111111ad99dcd35914c00b7fbea13995EXAMPLE", "externalExecutionSummary": "Edited template.yml", "externalExecutionUrl": "https://myaddress.com" }, "outputVariables": { "AuthorDate": "2020-05-08T17:45:43Z", "BranchName": "production", "CommitId": "EXAMPLEad99dcd35914c00b7fbea139951111111", "CommitMessage": "Edited template.yml", "CommitterDate": "2020-05-08T17:45:43Z", "RepositoryName": "my-repo" } } }, . . . .

Weitere Informationen finden Sie unter Aktionsausführungen (CLI) anzeigen im AWS CodePipeline Benutzerhandbuch.

Das folgende Codebeispiel zeigt die Verwendunglist-action-types.

AWS CLI

Um die verfügbaren Aktionstypen anzuzeigen

Der list-action-types Befehl wird eigenständig verwendet und gibt die Struktur aller Aktionen zurück, die für Ihr AWS Konto verfügbar sind. In diesem Beispiel wird die action-owner-filter Option -- verwendet, um nur benutzerdefinierte Aktionen zurückzugeben.

Befehl:

aws codepipeline list-action-types --action-owner-filter Custom

Ausgabe:

{ "actionTypes": [ { "inputArtifactDetails": { "maximumCount": 5, "minimumCount": 0 }, "actionConfigurationProperties": [ { "secret": false, "required": true, "name": "MyJenkinsExampleBuildProject", "key": true, "queryable": true } ], "outputArtifactDetails": { "maximumCount": 5, "minimumCount": 0 }, "id": { "category": "Build", "owner": "Custom", "version": "1", "provider": "MyJenkinsProviderName" }, "settings": { "entityUrlTemplate": "http://192.0.2.4/job/{Config:ProjectName}", "executionUrlTemplate": "http://192.0.2.4/job/{Config:ProjectName}/{ExternalExecutionId}" } }, { "inputArtifactDetails": { "maximumCount": 5, "minimumCount": 0 }, "actionConfigurationProperties": [ { "secret": false, "required": true, "name": "MyJenkinsExampleTestProject", "key": true, "queryable": true } ], "outputArtifactDetails": { "maximumCount": 5, "minimumCount": 0 }, "id": { "category": "Test", "owner": "Custom", "version": "1", "provider": "MyJenkinsProviderName" }, "settings": { "entityUrlTemplate": "http://192.0.2.4/job/{Config:ProjectName}", "executionUrlTemplate": "http://192.0.2.4/job/{Config:ProjectName}/{ExternalExecutionId}" } } ] }
  • Einzelheiten zur API finden Sie ListActionTypesin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunglist-pipeline-executions.

AWS CLI

Um den Verlauf der Pipeline-Ausführung anzuzeigen

Das folgende list-pipeline-executions Beispiel zeigt den Pipeline-Ausführungsverlauf für eine Pipeline in Ihrem AWS Konto.

aws codepipeline list-pipeline-executions \ --pipeline-name MyPipeline

Ausgabe:

{ "pipelineExecutionSummaries": [ { "lastUpdateTime": 1496380678.648, "pipelineExecutionId": "7cf7f7cb-3137-539g-j458-d7eu3EXAMPLE", "startTime": 1496380258.243, "status": "Succeeded" }, { "lastUpdateTime": 1496591045.634, "pipelineExecutionId": "3137f7cb-8d494hj4-039j-d84l-d7eu3EXAMPLE", "startTime": 1496590401.222, "status": "Succeeded" }, { "lastUpdateTime": 1496946071.6456, "pipelineExecutionId": "4992f7jf-7cf7-913k-k334-d7eu3EXAMPLE", "startTime": 1496945471.5645, "status": "Succeeded" } ] }

Weitere Informationen finden Sie im AWS CodePipeline Benutzerhandbuch unter Ausführungsverlauf anzeigen.

Das folgende Codebeispiel zeigt die Verwendunglist-pipelines.

AWS CLI

Um eine Liste von Pipelines anzuzeigen

In diesem Beispiel werden alle AWS CodePipeline Pipelines aufgeführt, die dem Konto des Benutzers AWS zugeordnet sind.

Befehl:

aws codepipeline list-pipelines

Ausgabe:

{ "pipelines": [ { "updated": 1439504274.641, "version": 1, "name": "MyFirstPipeline", "created": 1439504274.641 }, { "updated": 1436461837.992, "version": 2, "name": "MySecondPipeline", "created": 1436460801.381 } ] }

Das folgende Codebeispiel zeigt die Verwendunglist-tags-for-resource.

AWS CLI

Um Tags aufzulisten

Im folgenden list-tags-for-resource Beispiel wird eine Liste aller Tags abgerufen, die an die angegebene Pipeline-Ressource angehängt sind.

aws codepipeline list-tags-for-resource \ --resource-arn arn:aws:codepipeline:us-east-1:123456789012:MyPipeline

Ausgabe:

{ "tags": { "Project": "ProjectA", "IscontainerBased": "true" } }

Weitere Informationen finden Sie unter Tags für eine Pipeline (CLI) anzeigen im AWS CodePipeline Benutzerhandbuch.

Das folgende Codebeispiel zeigt die Verwendunglist-webhooks.

AWS CLI

Um Webhooks aufzulisten

Im folgenden list-webhooks Beispiel wird eine Liste aller Tags abgerufen, die an die angegebene Pipeline-Ressource angehängt sind.

aws codepipeline list-webhooks \ --endpoint-url "https://codepipeline.eu-central-1.amazonaws.com" \ --region "eu-central-1"

Ausgabe:

{ "webhooks": [ { "url": "https://webhooks.domain.com/trigger111111111EXAMPLE11111111111111111": { "authenticationConfiguration": { "SecretToken": "Secret" }, "name": "my-webhook", "authentication": "GITHUB_HMAC", "targetPipeline": "my-Pipeline", "targetAction": "Source", "filters": [ { "jsonPath": "$.ref", "matchEquals": "refs/heads/{Branch}" } ] }, "arn": "arn:aws:codepipeline:eu-central-1:123456789012:webhook:my-webhook" } ] }

Weitere Informationen finden Sie im AWS CodePipeline Benutzerhandbuch unter Auflisten von Webhooks in Ihrem Konto.

  • Einzelheiten zur API finden Sie ListWebhooksin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungpoll-for-jobs.

AWS CLI

Um alle verfügbaren Jobs anzuzeigen

In diesem Beispiel werden Informationen über alle Jobs zurückgegeben, auf die ein Jobarbeiter reagieren kann. In diesem Beispiel wird eine vordefinierte JSON-Datei (MyActionTypeInfo.json) verwendet, um Informationen über den Aktionstyp bereitzustellen, für den der Jobworker Jobs verarbeitet. Dieser Befehl wird nur für benutzerdefinierte Aktionen verwendet. Wenn dieser Befehl aufgerufen wird, werden temporäre Anmeldeinformationen für den Amazon S3 S3-Bucket AWS CodePipeline zurückgegeben, der zum Speichern von Artefakten für die Pipeline verwendet wird. Dieser Befehl gibt auch alle geheimen Werte zurück, die für die Aktion definiert wurden, sofern welche definiert wurden.

Befehl:

aws codepipeline poll-for-jobs --cli-input-json file://MyActionTypeInfo.json

Inhalt des Beispiels für eine JSON-Datei:

{ "actionTypeId": { "category": "Test", "owner": "Custom", "provider": "MyJenkinsProviderName", "version": "1" }, "maxBatchSize": 5, "queryParam": { "ProjectName": "MyJenkinsTestProject" } }

Ausgabe:

{ "jobs": [ { "accountId": "111111111111", "data": { "actionConfiguration": { "__type": "ActionConfiguration", "configuration": { "ProjectName": "MyJenkinsExampleTestProject" } }, "actionTypeId": { "__type": "ActionTypeId", "category": "Test", "owner": "Custom", "provider": "MyJenkinsProviderName", "version": "1" }, "artifactCredentials": { "__type": "AWSSessionCredentials", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "secretAccessKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "sessionToken": "fICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9TrDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpEIbb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0FkbFFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTbNYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE=" }, "inputArtifacts": [ { "__type": "Artifact", "location": { "s3Location": { "bucketName": "codepipeline-us-east-1-11EXAMPLE11", "objectKey": "MySecondPipeline/MyAppBuild/EXAMPLE" }, "type": "S3" }, "name": "MyAppBuild" } ], "outputArtifacts": [], "pipelineContext": { "__type": "PipelineContext", "action": { "name": "MyJenkinsTest-Action" }, "pipelineName": "MySecondPipeline", "stage": { "name": "Testing" } } }, "id": "ef66c259-64f9-EXAMPLE", "nonce": "3" } ] }
  • Einzelheiten zur API finden Sie PollForJobsin der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungput-webhook.

AWS CLI

Um einen Webhook zu erstellen

Im folgenden put-webhook Beispiel wird ein Webhook für eine Quellaktion der GitHub Version 1 erstellt. Nachdem Sie den Webhook erstellt haben, müssen Sie ihn mit dem Befehl register-webhook-with-third -party registrieren.

aws codepipeline put-webhook \ --cli-input-json file://webhook_json.json \ --region "eu-central-1"

Inhalt von webhook_json.json:

{ "webhook": { "name": "my-webhook", "targetPipeline": "pipeline_name", "targetAction": "source_action_name", "filters": [ { "jsonPath": "$.ref", "matchEquals": "refs/heads/{Branch}" } ], "authentication": "GITHUB_HMAC", "authenticationConfiguration": { "SecretToken": "secret" } } }

Ausgabe:

{ "webhook": { "url": "https://webhooks.domain.com/trigger111111111EXAMPLE11111111111111111", "definition": { "authenticationConfiguration": { "SecretToken": "secret" }, "name": "my-webhook", "authentication": "GITHUB_HMAC", "targetPipeline": "pipeline_name", "targetAction": "Source", "filters": [ { "jsonPath": "$.ref", "matchEquals": "refs/heads/{Branch}" } ] }, "arn": "arn:aws:codepipeline:eu-central-1:123456789012:webhook:my-webhook" }, "tags": [ { "key": "Project", "value": "ProjectA" } ] }

Weitere Informationen finden Sie im Benutzerhandbuch unter Erstellen eines Webhooks für eine GitHub Quelle.AWS CodePipeline

Das folgende Codebeispiel zeigt die Verwendungretry-stage-execution.

AWS CLI

Um eine fehlgeschlagene Aktion erneut zu versuchen

Im folgenden retry-stage-execution Beispiel wird eine Phase wiederholt, in der eine Aktion fehlgeschlagen ist.

aws codepipeline retry-stage-execution \ --pipeline-name MyPipeline \ --stage-name Deploy \ --pipeline-execution-id b59babff-5f34-EXAMPLE \ --retry-mode FAILED_ACTIONS

Ausgabe:

{ "pipelineExecutionId": "b59babff-5f34-EXAMPLE" }

Weitere Informationen finden Sie unter Fehlgeschlagene Aktionen wiederholen (CLI) im AWS CodePipeline Benutzerhandbuch.

Das folgende Codebeispiel zeigt die Verwendungstart-pipeline-execution.

AWS CLI

Um die neueste Revision über eine Pipeline auszuführen

In diesem Beispiel wird die neueste Version, die sich in der Quellphase einer Pipeline befindet, über die Pipeline mit dem Namen "MyFirstPipeline" ausgeführt.

Befehl:

aws codepipeline start-pipeline-execution --name MyFirstPipeline

Ausgabe:

{ "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE" }

Das folgende Codebeispiel zeigt die Verwendungstop-pipeline-execution.

AWS CLI

Um die Ausführung einer Pipeline zu beenden

Im folgenden stop-pipeline-execution Beispiel wird standardmäßig gewartet, bis die laufenden Aktionen abgeschlossen sind, und dann die Pipeline gestoppt. Sie können sich nicht für das Anhalten und Warten entscheiden, wenn sich die Ausführung bereits in einem Stopping (Wird angehalten)-Status befindet. Sie können eine Ausführung, die sich bereits in einem Status Stopping (Wird angehalten) befindet, anhalten und beenden.

aws codepipeline stop-pipeline-execution \ --pipeline-name MyFirstPipeline \ --pipeline-execution-id d-EXAMPLE \ --reason "Stopping pipeline after the build action is done"

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Stoppen einer Pipeline-Ausführung (CLI) im AWS CodePipeline Benutzerhandbuch.

Das folgende Codebeispiel zeigt die Verwendungtag-resource.

AWS CLI

Um eine Ressource zu taggen

Das folgende tag-resource Beispiel verknüpft einen Satz bereitgestellter Tags mit einer Pipeline. Verwenden Sie diesen Befehl, um Tags hinzuzufügen oder zu bearbeiten.

aws codepipeline tag-resource \ --resource-arn arn:aws:codepipeline:us-east-1:123456789012:MyPipeline \ --tags key=Project,value=ProjectA key=IscontainerBased,value=true

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Hinzufügen von Tags zu einer Pipeline (CLI) im AWS CodePipeline Benutzerhandbuch.

  • Einzelheiten zur API finden Sie TagResourceunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunguntag-resource.

AWS CLI

Um AWS Tags aus einer Verbindungsressource zu entfernen

Im folgenden untag-resource Beispiel wird ein Tag aus der angegebenen Ressource entfernt.

aws codepipeline untag-resource \ --resource-arn arn:aws:codepipeline:us-east-1:123456789012:MyPipeline \ --tag-keys Project IscontainerBased

Mit diesem Befehl wird keine Ausgabe zurückgegeben.

Weitere Informationen finden Sie unter Entfernen von Tags aus einer Pipeline (CLI) im AWS CodePipeline Benutzerhandbuch.

  • Einzelheiten zur API finden Sie UntagResourceunter AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendungupdate-pipeline.

AWS CLI

Um die Struktur einer Pipeline zu aktualisieren

In diesem Beispiel wird der Befehl update-pipeline mit dem Argument -- cli-input-json verwendet. In diesem Beispiel wird eine vordefinierte JSON-Datei (MyFirstPipeline.json) verwendet, um die Struktur einer Pipeline zu aktualisieren. AWS CodePipeline erkennt den in der JSON-Datei enthaltenen Pipeline-Namen und wendet dann alle Änderungen an geänderten Feldern in der Pipeline-Struktur an, um die Pipeline zu aktualisieren.

Beachten Sie beim Erstellen der vordefinierten JSON-Datei die folgenden Richtlinien:

Wenn Sie mit einer Pipeline-Struktur arbeiten, die mit dem Befehl get-pipeline abgerufen wurde, müssen Sie den Metadatenabschnitt aus der Pipeline-Struktur in der JSON-Datei entfernen (die Zeilen „metadata“: {} und die darin enthaltenen Felder „created“, „pipelineRn“ und „updated“). Der Pipelinename kann nicht geändert werden.

Befehl:

aws codepipeline update-pipeline --cli-input-json file://MyFirstPipeline.json

Inhalt einer JSON-Beispieldatei:

{ "pipeline": { "roleArn": "arn:aws:iam::111111111111:role/AWS-CodePipeline-Service", "stages": [ { "name": "Source", "actions": [ { "inputArtifacts": [], "name": "Source", "actionTypeId": { "category": "Source", "owner": "AWS", "version": "1", "provider": "S3" }, "outputArtifacts": [ { "name": "MyApp" } ], "configuration": { "S3Bucket": "awscodepipeline-demo-bucket2", "S3ObjectKey": "aws-codepipeline-s3-aws-codedeploy_linux.zip" }, "runOrder": 1 } ] }, { "name": "Beta", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "CodePipelineDemoFleet", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] } ], "artifactStore": { "type": "S3", "location": "codepipeline-us-east-1-11EXAMPLE11" }, "name": "MyFirstPipeline", "version": 1 } }

Ausgabe:

{ "pipeline": { "artifactStore": { "location": "codepipeline-us-east-1-11EXAMPLE11", "type": "S3" }, "name": "MyFirstPipeline", "roleArn": "arn:aws:iam::111111111111:role/AWS-CodePipeline-Service", "stages": [ { "actions": [ { "actionTypeId": { "__type": "ActionTypeId", "category": "Source", "owner": "AWS", "provider": "S3", "version": "1" }, "configuration": { "S3Bucket": "awscodepipeline-demo-bucket2", "S3ObjectKey": "aws-codepipeline-s3-aws-codedeploy_linux.zip" }, "inputArtifacts": [], "name": "Source", "outputArtifacts": [ { "name": "MyApp" } ], "runOrder": 1 } ], "name": "Source" }, { "actions": [ { "actionTypeId": { "__type": "ActionTypeId", "category": "Deploy", "owner": "AWS", "provider": "CodeDeploy", "version": "1" }, "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "inputArtifacts": [ { "name": "MyApp" } ], "name": "CodePipelineDemoFleet", "outputArtifacts": [], "runOrder": 1 } ], "name": "Beta" } ], "version": 3 } }
  • Einzelheiten zur API finden Sie UpdatePipelinein der AWS CLI Befehlsreferenz.