View a markdown version of this page

CodePipeline Beispiele unter Verwendung AWS CLI - AWS SDK-Codebeispiele

Weitere AWS SDK-Beispiele sind im AWS Doc SDK Examples GitHub Repo verfügbar.

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 unter Verwendung AWS CLI

Die folgenden Codebeispiele zeigen, wie Sie mithilfe von AWS Command Line Interface with Aktionen ausführen und gängige 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 Service-Funktionen aufrufen, können Sie Aktionen im Kontext der zugehörigen Szenarien anzeigen.

Jedes Beispiel enthält einen Link zum vollständigen Quellcode, wo Sie Anweisungen zum Einrichten und Ausführen des Codes im Kodex finden.

Themen

Aktionen

Das folgende Codebeispiel zeigt die Verwendung. acknowledge-job

AWS CLI

So rufen Sie Informationen zu einem angegebenen Auftrag ab

In diesem Beispiel werden Informationen zu einem angegebenen Auftrag zurückgegeben, einschließlich des Status dieses Jobs, falls vorhanden. Dieser Befehl wird nur für Auftragsworker und benutzerdefinierte Aktionen verwendet. Verwenden Sie „aws codepipeline poll-for-jobs“, um den nonce-Wert 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 Verwendung. create-custom-action-type

AWS CLI

So erstellen Sie eine benutzerdefinierte Aktion

Dieses Beispiel erstellt eine benutzerdefinierte Aktion für die AWS CodePipeline Verwendung einer bereits erstellten JSON-Datei (hier benannt MyCustomAction.json), 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-Datei MyCustomAction.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 Verwendung. create-pipeline

AWS CLI

Um eine Pipeline zu erstellen

Dieses Beispiel erstellt eine Pipeline unter AWS CodePipeline Verwendung einer bereits erstellten JSON-Datei (hier benannt MySecondPipeline.json), 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

Beispielinhalt für die 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 CreatePipeline in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. delete-custom-action-type

AWS CLI

So löschen Sie eine benutzerdefinierte Aktion

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

Befehl:

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

Beispielinhalt für die JSON-Datei:

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

Ausgabe:

None.

Das folgende Codebeispiel zeigt die Verwendung. delete-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.

Das folgende Codebeispiel zeigt die Verwendung. delete-webhook

AWS CLI

So löschen Sie einen Webhook

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 die Registrierung des Webhooks aufzuheben, 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

Das folgende Codebeispiel zeigt die Verwendung. deregister-webhook-with-third-party

AWS CLI

So heben Sie die Registrierung eines Webhooks auf

Im folgenden deregister-webhook-with-third-party Beispiel wird ein Webhook für eine Quellaktion der GitHub 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 Verwendung. disable-stage-transition

AWS CLI

So deaktivieren Sie den Übergang zu einer Phase in einer Pipeline

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

Befehl:

aws codepipeline disable-stage-transition \ --pipeline-name MyFirstPipeline \ --stage-name Beta \ --transition-type Inbound \ --reason "An example reason"

Ausgabe:

None.

Das folgende Codebeispiel zeigt die Verwendung. enable-stage-transition

AWS CLI

So aktivieren Sie einen Übergang zu einer Phase in einer Pipeline

Dieses Beispiel ermöglicht Übergänge in die Beta-Phase 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 Verwendung. get-job-details

AWS CLI

So rufen Sie Details zu einem Auftrag ab

In diesem Beispiel werden Details zu einem Auftrag 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-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" } }

Das folgende Codebeispiel zeigt die Verwendung. get-pipeline-state

AWS CLI

So rufen Sie Informationen zum Status einer Pipeline ab

In diesem Beispiel wird der aktuelle 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 }

Das folgende Codebeispiel zeigt die Verwendungget-pipeline.

AWS CLI

So zeigen Sie die Struktur einer Pipeline an

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 } }
  • API-Details finden Sie GetPipeline in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. list-action-executions

AWS CLI

So listen Sie Aktionsausführungen auf

Im folgenden Bespiel für list-action-executions werden Aktionsausführungsdetails für eine Pipeline angezeigt, wie etwa die Aktionsausführungs-ID, Eingabeartefakte, Ausgabeartefakte sowie das Ausführungsergebnis und der 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": "amzn-s3-demo-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 im AWS CodePipeline Benutzerhandbuch unter View Action Executions (CLI).

Das folgende Codebeispiel zeigt die Verwendung. list-action-types

AWS CLI

So zeigen Sie die verfügbaren Aktionstypen an

Wenn der Befehl list-action-types für sich allein verwendet wird, gibt er die Struktur aller Aktionen zurück, die für Ihr Konto verfügbar sind. AWS In diesem Beispiel wird die Option „--action-owner-filter“ 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}" } } ] }

Das folgende Codebeispiel zeigt die Verwendung. list-pipeline-executions

AWS CLI

Sie zeigen Sie den Ausführungsverlauf einer Pipeline an

Das folgende list-pipeline-executions Beispiel zeigt den Verlauf der Pipeline-Ausführung 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 Verwendung. list-pipelines

AWS CLI

So zeigen Sie eine Liste von Pipelines an

In diesem Beispiel werden alle AWS CodePipeline Pipelines aufgeführt, die dem AWS Konto des Benutzers 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

So listen Sie Tags auf

Im folgenden Beispiel für list-tags-for-resource wird eine Liste aller Tags abgerufen, die mit der angegebenen Pipeline-Ressource verknüpft 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 im AWS CodePipeline Benutzerhandbuch unter Tags für eine Pipeline (CLI) anzeigen.

Das folgende Codebeispiel zeigt die Verwendung. list-webhooks

AWS CLI

So listen Sie Webhooks auf

Im folgenden Beispiel für list-webhooks wird eine Liste aller Tags abgerufen, die mit der angegebenen Pipeline-Ressource verknüpft 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.

Das folgende Codebeispiel zeigt die Verwendung. poll-for-jobs

AWS CLI

So zeigen Sie alle verfügbaren Aufträge an

In diesem Beispiel werden Informationen zu allen Aufträgen zurückgegeben, auf die ein Auftragsworker 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-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

Beispielinhalt für die 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" } ] }
  • API-Details finden Sie PollForJobs in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. put-webhook

AWS CLI

So erstellen Sie einen Webhook

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 den Befehl „register-webhook-with-third-party“ verwenden, um ihn zu 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 AWS CodePipeline Benutzerhandbuch unter Erstellen eines Webhooks für eine GitHub Quelle.

  • API-Details finden Sie PutWebhook in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendung. retry-stage-execution

AWS CLI

So wiederholen Sie eine fehlgeschlagene Aktion

Im folgenden Beispiel für retry-stage-execution wird eine Phase wiederholt, bei 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 im AWS CodePipeline Benutzerhandbuch unter Fehlgeschlagene Aktionen wiederholen (CLI).

Das folgende Codebeispiel zeigt die Verwendung. start-pipeline-execution

AWS CLI

So führen Sie die neueste Revision über eine Pipeline aus

In diesem Beispiel wird die neueste Revision, die in der Quellphase einer Pipeline vorhanden ist, ü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 Verwendung. stop-pipeline-execution

AWS CLI

So beenden Sie die Pipeline-Ausführung

Im folgenden Beispiel für stop-pipeline-execution wird standardmäßig gewartet, bis die laufenden Aktionen abgeschlossen sind. Dann wird die Pipeline-Ausführung beendet. 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 im AWS CodePipeline Benutzerhandbuch unter Beenden einer Pipeline-Ausführung (CLI).

Das folgende Codebeispiel zeigt die Verwendungtag-resource.

AWS CLI

So taggen Sie eine Ressource

Im folgenden Beispiel für tag-resource wird ein Satz bereitgestellter Tags einer Pipeline zugeordnet. 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 im AWS CodePipeline Benutzerhandbuch unter Hinzufügen von Tags zu einer Pipeline (CLI).

  • API-Details finden Sie TagResource in der AWS CLI Befehlsreferenz.

Das folgende Codebeispiel zeigt die Verwendunguntag-resource.

AWS CLI

Um AWS Tags aus einer Verbindungsressource zu entfernen

Im folgenden Beispiel für untag-resource 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 im AWS CodePipeline Benutzerhandbuch unter Entfernen von Tags aus einer Pipeline (CLI).

Das folgende Codebeispiel zeigt die Verwendung. update-pipeline

AWS CLI

So aktualisieren Sie die Struktur einer Pipeline

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 Pipelinenamen und wendet dann alle Änderungen aus 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 mit „metadata“: {} und die darin enthaltenen Felder „created“, „pipelineARN“ und „updated“). Der Pipeline-Name 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 } }