Weitere AWS-SDK-Beispiele sind im GitHub-Repository Beispiele für AWS Doc SDKs
CodePipeline-Beispiele unter Verwendung von AWS CLI
Die folgenden Codebeispiele zeigen, wie Sie Aktionen durchführen und gängige Szenarien implementieren, indem Sie AWS Command Line Interface mit CodePipeline nutzen.
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 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
Die folgenden Codebeispiele zeigen, wie acknowledge-job verwendet wird.
- 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-idf4f4ff82-2d11-EXAMPLE--nonce3Ausgabe:
{ "status": "InProgress" }-
Weitere API-Informationen finden Sie unter AcknowledgeJob
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie create-custom-action-type verwendet wird.
- AWS CLI
-
So erstellen Sie eine benutzerdefinierte Aktion
In diesem Beispiel wird eine benutzerdefinierte Aktion für AWS CodePipeline mithilfe einer bereits erstellten JSON-Datei (hier „MyCustomAction.json“) 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 Benutzerhandbuch für AWS CodePipeline.
aws codepipeline create-custom-action-type --cli-input-jsonfile://MyCustomAction.jsonInhalt 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.
-
Weitere API-Informationen finden Sie unter CreateCustomActionType
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie create-pipeline verwendet wird.
- AWS CLI
-
So erstellen Sie eine Pipeline
In diesem Beispiel wird eine Pipeline in AWS CodePipeline mithilfe einer bereits erstellten JSON-Datei (hier „MySecondPipeline.json“) 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 Benutzerhandbuch für AWS CodePipeline.
Befehl:
aws codepipeline create-pipeline --cli-input-jsonfile://MySecondPipeline.jsonBeispielinhalt 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.-
Weitere API-Informationen finden Sie unter CreatePipeline
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie delete-custom-action-type verwendet wird.
- AWS CLI
-
So löschen Sie eine benutzerdefinierte Aktion
In diesem Beispiel wird eine benutzerdefinierte Aktion in AWS CodePipeline mithilfe einer bereits erstellten JSON-Datei (hier „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-jsonfile://DeleteMyCustomAction.jsonBeispielinhalt für die JSON-Datei:
{ "category": "Build", "version": "1", "provider": "MyJenkinsProviderName" }Ausgabe:
None.-
Weitere API-Informationen finden Sie unter DeleteCustomActionType
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie delete-pipeline verwendet wird.
- AWS CLI
-
So löschen Sie eine Pipeline
In diesem Beispiel wird eine Pipeline mit dem Namen „MySecondPipeline“ aus AWS CodePipeline gelöscht. Verwenden Sie den „list-pipelines“-Befehl, um eine Liste aller Pipelines anzuzeigen, die Ihrem AWS-Konto zugeordnet sind.
Befehl:
aws codepipeline delete-pipeline --nameMySecondPipelineAusgabe:
None.-
Weitere API-Informationen finden Sie unter DeletePipeline
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie delete-webhook verwendet wird.
- AWS CLI
-
So löschen Sie einen Webhook
Im folgenden Beispiel für
delete-webhookwird ein Webhook für eine GitHub-Quellaktion der Version 1 gelöscht. Sie müssen denderegister-webhook-with-third-party-Befehl verwenden, um die Registrierung des Webhooks aufzuheben, bevor Sie ihn löschen.aws codepipeline delete-webhook \ --namemy-webhookMit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Löschen des Webhooks für Ihre GitHub-Quelle im Benutzerhandbuch für AWS CodePipeline.
-
Weitere API-Informationen finden Sie unter DeleteWebhook
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie deregister-webhook-with-third-party verwendet wird.
- AWS CLI
-
So heben Sie die Registrierung eines Webhooks auf
Im folgenden Beispiel für
deregister-webhook-with-third-partywird 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-namemy-webhookMit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Löschen des Webhooks für Ihre GitHub-Quelle im Benutzerhandbuch für AWS CodePipeline.
-
Weitere API-Informationen finden Sie unter DeregisterWebhookWithThirdParty
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie disable-stage-transition verwendet wird.
- AWS CLI
-
So deaktivieren Sie den Übergang zu einer Phase in einer Pipeline
In diesem Beispiel werden Übergänge in die Betaphase der „MyFirstPipeline“-Pipeline in AWS CodePipeline deaktiviert.
Befehl:
aws codepipeline disable-stage-transition --pipeline-nameMyFirstPipeline--stage-nameBeta--transition-typeInboundAusgabe:
None.-
Weitere API-Informationen finden Sie unter DisableStageTransition
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie enable-stage-transition verwendet wird.
- AWS CLI
-
So aktivieren Sie einen Übergang zu einer Phase in einer Pipeline
In diesem Beispiel werden Übergänge in die Betaphase der „MyFirstPipeline“-Pipeline in AWS CodePipeline aktiviert.
Befehl:
aws codepipeline enable-stage-transition --pipeline-nameMyFirstPipeline--stage-nameBeta--transition-typeInboundAusgabe:
None.-
Weitere API-Informationen finden Sie unter EnableStageTransition
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie get-job-details verwendet wird.
- 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, gibt AWS CodePipeline temporäre Anmeldeinformationen für den Amazon-S3-Bucket zurück, 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-idf4f4ff82-2d11-EXAMPLEAusgabe:
{ "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" } }-
Weitere API-Informationen finden Sie unter GetJobDetails
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie get-pipeline-state verwendet wird.
- AWS CLI
-
So rufen Sie Informationen zum Status einer Pipeline ab
Dieses Beispiel gibt den aktuellen Status einer Pipeline namens „MyFirstPipeline“ zurück.
Befehl:
aws codepipeline get-pipeline-state --nameMyFirstPipelineAusgabe:
{ "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 }-
Weitere API-Informationen finden Sie unter GetPipelineState
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie get-pipeline verwendet wird.
- AWS CLI
-
So zeigen Sie die Struktur einer Pipeline an
Dieses Beispiel gibt die Struktur einer Pipeline namens „MyFirstPipeline“ zurück.
Befehl:
aws codepipeline get-pipeline --nameMyFirstPipelineAusgabe:
{ "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 } }-
Weitere API-Informationen finden Sie unter GetPipeline
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie list-action-executions verwendet wird.
- AWS CLI
-
So listen Sie Aktionsausführungen auf
Im folgenden Bespiel für
list-action-executionswerden 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-namemyPipelineAusgabe:
{ "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 unter Anzeigen von Aktionsausführungen (CLI) im Benutzerhandbuch für AWS CodePipeline.
-
Weitere API-Informationen finden Sie unter ListActionExecutions
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie list-action-types verwendet wird.
- AWS CLI
-
So zeigen Sie die verfügbaren Aktionstypen an
Wenn der Befehl „list-action-types“ alleine verwendet wird, gibt er die Struktur aller Aktionen zurück, die für Ihr AWS-Konto verfügbar sind. In diesem Beispiel wird die Option „--action-owner-filter“ verwendet, um nur benutzerdefinierte Aktionen zurückzugeben.
Befehl:
aws codepipeline list-action-types --action-owner-filterCustomAusgabe:
{ "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}" } } ] }-
Weitere API-Informationen finden Sie unter ListActionTypes
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie list-pipeline-executions verwendet wird.
- AWS CLI
-
Sie zeigen Sie den Ausführungsverlauf einer Pipeline an
Das folgende Beispiel für
list-pipeline-executionszeigt den Verlauf der Pipeline-Ausführung für eine Pipeline in Ihrem AWS-Konto an.aws codepipeline list-pipeline-executions \ --pipeline-nameMyPipelineAusgabe:
{ "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 unter Anzeigen des Ausführungsverlaufs im Benutzerhandbuch für AWS CodePipeline.
-
Weitere API-Informationen finden Sie unter ListPipelineExecutions
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie list-pipelines verwendet wird.
- AWS CLI
-
So zeigen Sie eine Liste von Pipelines an
Dieses Beispiel listet alle AWS-CodePipeline-Repositorys auf, die dem AWS-Konto des Benutzers zugeordnet sind.
Befehl:
aws codepipeline list-pipelinesAusgabe:
{ "pipelines": [ { "updated": 1439504274.641, "version": 1, "name": "MyFirstPipeline", "created": 1439504274.641 }, { "updated": 1436461837.992, "version": 2, "name": "MySecondPipeline", "created": 1436460801.381 } ] }-
Weitere API-Informationen finden Sie unter ListPipelines
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie list-tags-for-resource verwendet wird.
- AWS CLI
-
So listen Sie Tags auf
Im folgenden Beispiel für
list-tags-for-resourcewird eine Liste aller Tags abgerufen, die mit der angegebenen Pipeline-Ressource verknüpft sind.aws codepipeline list-tags-for-resource \ --resource-arnarn:aws:codepipeline:us-east-1:123456789012:MyPipelineAusgabe:
{ "tags": { "Project": "ProjectA", "IscontainerBased": "true" } }Weitere Informationen finden Sie unter Anzeigen von Tags für eine Pipeline (CLI) im Benutzerhandbuch für AWS CodePipeline.
-
Weitere API-Informationen finden Sie unter ListTagsForResource
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie list-webhooks verwendet wird.
- AWS CLI
-
So listen Sie Webhooks auf
Im folgenden Beispiel für
list-webhookswird 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 unter Auflisten von Webhooks in Ihrem Konto im Benutzerhandbuch für AWS CodePipeline.
-
Weitere API-Informationen finden Sie unter ListWebhooks
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie poll-for-jobs verwendet wird.
- 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 zum Aktionstyp bereitzustellen, für den der Auftragsworker Aufträge verarbeitet. Dieser Befehl wird nur für benutzerdefinierte Aktionen verwendet. Wenn dieser Befehl aufgerufen wird, gibt AWS CodePipeline temporäre Anmeldeinformationen für den Amazon-S3-Bucket zurück, 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-jsonfile://MyActionTypeInfo.jsonBeispielinhalt 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" } ] }-
Weitere API-Informationen finden Sie unter PollForJobs
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie put-webhook verwendet wird.
- AWS CLI
-
So erstellen Sie einen Webhook
Im folgenden Beispiel für
put-webhookwird ein Webhook für eine GitHub-Quellaktion der 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-jsonfile://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 unter Erstellen eines Webhooks für eine GitHub-Quelle im Benutzerhandbuch für AWS CodePipeline.
-
Weitere API-Informationen finden Sie unter PutWebhook
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie retry-stage-execution verwendet wird.
- AWS CLI
-
So wiederholen Sie eine fehlgeschlagene Aktion
Im folgenden Beispiel für
retry-stage-executionwird eine Phase wiederholt, bei der eine Aktion fehlgeschlagen ist.aws codepipeline retry-stage-execution \ --pipeline-nameMyPipeline\ --stage-nameDeploy\ --pipeline-execution-idb59babff-5f34-EXAMPLE\ --retry-modeFAILED_ACTIONSAusgabe:
{ "pipelineExecutionId": "b59babff-5f34-EXAMPLE" }Weitere Informationen finden Sie unter Wiederholen fehlgeschlagener Aktionen (CLI) im Benutzerhandbuch für AWS CodePipeline.
-
Weitere API-Informationen finden Sie unter RetryStageExecution
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie start-pipeline-execution verwendet wird.
- AWS CLI
-
So führen Sie die neueste Revision über eine Pipeline aus
In diesem Beispiel wird die neueste Revision, die sich in der Quellphase einer Pipeline befindet, über die Pipeline mit dem Namen „MyFirstPipeline“ ausgeführt.
Befehl:
aws codepipeline start-pipeline-execution --nameMyFirstPipelineAusgabe:
{ "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE" }-
Weitere API-Informationen finden Sie unter StartPipelineExecution
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie stop-pipeline-execution verwendet wird.
- AWS CLI
-
So beenden Sie die Pipeline-Ausführung
Im folgenden Beispiel für
stop-pipeline-executionwird 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-nameMyFirstPipeline\ --pipeline-execution-idd-EXAMPLE\ --reason"Stopping pipeline after the build action is done"Mit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Pipeline-Ausführung anhalten (CLI) im Benutzerhandbuch für AWS CodePipeline.
-
Weitere API-Informationen finden Sie unter StopPipelineExecution
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie tag-resource verwendet wird.
- AWS CLI
-
So taggen Sie eine Ressource
Im folgenden Beispiel für
tag-resourcewird ein Satz bereitgestellter Tags einer Pipeline zugeordnet. Verwenden Sie diesen Befehl, um Tags hinzuzufügen oder zu bearbeiten.aws codepipeline tag-resource \ --resource-arnarn:aws:codepipeline:us-east-1:123456789012:MyPipeline\ --tagskey=Project,value=ProjectAkey=IscontainerBased,value=trueMit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Hinzufügen von Tags zu einer Pipeline (CLI) im Benutzerhandbuch für AWS CodePipeline.
-
Weitere API-Informationen finden Sie unter TagResource
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie untag-resource verwendet wird.
- AWS CLI
-
So entfernen Sie AWS-Tags aus einer Verbindungsressource
Im folgenden Beispiel für
untag-resourcewird ein Tag aus der angegebenen Ressource entfernt.aws codepipeline untag-resource \ --resource-arnarn:aws:codepipeline:us-east-1:123456789012:MyPipeline\ --tag-keysProjectIscontainerBasedMit diesem Befehl wird keine Ausgabe zurückgegeben.
Weitere Informationen finden Sie unter Entfernen von Tags aus einer Pipeline (CLI) im Benutzerhandbuch für AWS CodePipeline.
-
Weitere API-Informationen finden Sie unter UntagResource
in der AWS CLI-Befehlsreferenz.
-
Die folgenden Codebeispiele zeigen, wie update-pipeline verwendet wird.
- 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 Pipeline-Namen 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-jsonfile://MyFirstPipeline.jsonInhalt 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 } }-
Weitere API-Informationen finden Sie unter UpdatePipeline
in der AWS CLI-Befehlsreferenz.
-