翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CodePipeline を使用した例 AWS CLI
次のコード例は、 AWS Command Line Interface で を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています CodePipeline。
アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。
各例には、完全なソースコードへのリンクが含まれています。ここでは、コンテキストでコードを設定および実行する方法の手順を確認できます。
トピック
アクション
次のコード例は、acknowledge-job
を使用する方法を示しています。
- AWS CLI
-
指定されたジョブに関する情報を取得するには
この例では、指定されたジョブが存在する場合、そのジョブのステータスなど、指定されたジョブに関する情報を返します。これは、ジョブワーカーとカスタムアクションにのみ使用されます。nonce の値とジョブ ID を決定するには、aws コードパイプライン を使用します poll-for-jobs。
コマンド:
aws codepipeline acknowledge-job --job-id
f4f4ff82-2d11-EXAMPLE
--nonce3
出力:
{ "status": "InProgress" }
-
API 詳細については、AWS CLI 「 コマンドリファレンスAcknowledgeJob
」の「」を参照してください。
-
次のコード例は、create-custom-action-type
を使用する方法を示しています。
- AWS CLI
-
カスタムアクションを作成するには
この例では、カスタムアクションの構造を含む、既に作成されたJSONファイル (ここでは MyCustomAction.json という名前) AWS CodePipeline を使用するためのカスタムアクションを作成します。ファイルの構造など、カスタムアクションを作成するための要件の詳細については、 AWS CodePipeline 「 ユーザーガイド」を参照してください。
aws codepipeline create-custom-action-type --cli-input-json
file://MyCustomAction.json
JSON ファイルの内容
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 } }
このコマンドは、カスタムアクションの構造を返します。
-
API 詳細については、AWS CLI 「 コマンドリファレンスCreateCustomActionType
」の「」を参照してください。
-
次の例は、create-pipeline
を使用する方法を説明しています。
- AWS CLI
-
パイプラインを作成するには
この例では、パイプラインの構造を含む、既に作成されたJSONファイル (ここでは MySecondPipeline.json という名前) AWS CodePipeline を使用して、 でパイプラインを作成します。ファイルの構造など、パイプライン作成の要件の詳細については、 AWS CodePipeline 「 ユーザーガイド」を参照してください。
コマンド:
aws codepipeline create-pipeline --cli-input-json
file://MySecondPipeline.json
JSON ファイルサンプルの内容:
{ "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 } }
出力:
This command returns the structure of the pipeline.
-
API 詳細については、AWS CLI 「 コマンドリファレンスCreatePipeline
」の「」を参照してください。
-
次の例は、delete-custom-action-type
を使用する方法を説明しています。
- AWS CLI
-
カスタムアクションを削除するには
この例では、削除するアクションのアクションタイプ、プロバイダー名、バージョン番号を含む、既に作成されたJSONファイル (ここでは DeleteMyCustomAction.json という名前) AWS CodePipeline を使用して、 のカスタムアクションを削除します。 list-action-types コマンドを使用して、カテゴリ、バージョン、プロバイダーの正しい値を表示します。
コマンド:
aws codepipeline delete-custom-action-type --cli-input-json
file://DeleteMyCustomAction.json
JSON ファイルサンプルの内容:
{ "category": "Build", "version": "1", "provider": "MyJenkinsProviderName" }
出力:
None.
-
API 詳細については、AWS CLI 「 コマンドリファレンスDeleteCustomActionType
」の「」を参照してください。
-
次のコード例は、delete-pipeline
を使用する方法を示しています。
- AWS CLI
-
パイプラインを削除するには
この例では、 MySecondPipeline から という名前のパイプラインを削除します AWS CodePipeline。list-pipelines コマンドを使用して、 AWS アカウントに関連付けられたパイプラインのリストを表示します。
コマンド:
aws codepipeline delete-pipeline --name
MySecondPipeline
出力:
None.
-
API 詳細については、AWS CLI 「 コマンドリファレンスDeletePipeline
」の「」を参照してください。
-
次のコード例は、delete-webhook
を使用する方法を示しています。
- AWS CLI
-
ウェブフックを削除するには
次の
delete-webhook
例では、 GitHub バージョン 1 のソースアクションのウェブフックを削除します。deregister-webhook-with-third-party
コマンドを使用して、ウェブフックを削除する前に登録を解除する必要があります。aws codepipeline delete-webhook \ --name
my-webhook
このコマンドでは何も出力されません。
詳細については、AWS CodePipeline 「 ユーザーガイド」の GitHub 「ソースのウェブフックを削除する」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスDeleteWebhook
」の「」を参照してください。
-
次のコード例は、deregister-webhook-with-third-party
を使用する方法を示しています。
- AWS CLI
-
ウェブフックの登録を解除するには
次の
deregister-webhook-with-third-party
例では、 GitHub バージョン 1 ソースアクションのウェブフックを削除します。ウェブフックを削除する前に、その登録を解除する必要があります。aws codepipeline deregister-webhook-with-third-party \ --webhook-name
my-webhook
このコマンドでは何も出力されません。
詳細については、AWS CodePipeline 「 ユーザーガイド」の GitHub 「ソースのウェブフックを削除する」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスDeregisterWebhookWithThirdParty
」の「」を参照してください。
-
次のコード例は、disable-stage-transition
を使用する方法を示しています。
- AWS CLI
-
パイプライン内のステージへの移行を無効にするには
この例では、 の MyFirstPipeline パイプラインのベータステージへの移行を無効にします AWS CodePipeline。
コマンド:
aws codepipeline disable-stage-transition --pipeline-name
MyFirstPipeline
--stage-nameBeta
--transition-typeInbound
出力:
None.
-
API 詳細については、AWS CLI 「 コマンドリファレンスDisableStageTransition
」の「」を参照してください。
-
次の例は、enable-stage-transition
を使用する方法を説明しています。
- AWS CLI
-
パイプライン内のステージへの移行を有効にするには
この例では、 の MyFirstPipeline パイプラインのベータステージへの移行を有効にします AWS CodePipeline。
コマンド:
aws codepipeline enable-stage-transition --pipeline-name
MyFirstPipeline
--stage-nameBeta
--transition-typeInbound
出力:
None.
-
API 詳細については、AWS CLI 「 コマンドリファレンスEnableStageTransition
」の「」を参照してください。
-
次の例は、get-job-details
を使用する方法を説明しています。
- AWS CLI
-
ジョブの詳細を取得するには
この例では、ID が f4f4ff82-2d11- で表されるジョブに関する詳細を返しますEXAMPLE。このコマンドはカスタムアクションにのみ使用されます。このコマンドが呼び出されると、 は、カスタムアクションで必要な場合、パイプラインのアーティファクトを保存するために使用される Amazon S3 バケットの一時的な認証情報 AWS CodePipeline を返します。このコマンドは、アクションに定義されているシークレット値がある場合も返します。
コマンド:
aws codepipeline get-job-details --job-id
f4f4ff82-2d11-EXAMPLE
出力:
{ "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" } }
-
API 詳細については、AWS CLI 「 コマンドリファレンスGetJobDetails
」の「」を参照してください。
-
次の例は、get-pipeline-state
を使用する方法を説明しています。
- AWS CLI
-
パイプラインの状態に関する情報を取得するには
この例では、 という名前のパイプラインの最新の状態を返します MyFirstPipeline。
コマンド:
aws codepipeline get-pipeline-state --name
MyFirstPipeline
出力:
{ "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 }
-
API 詳細については、AWS CLI 「 コマンドリファレンスGetPipelineState
」の「」を参照してください。
-
次のコード例は、get-pipeline
を使用する方法を示しています。
- AWS CLI
-
パイプラインの構造を表示するには
この例では、 という名前のパイプラインの構造を返します MyFirstPipeline。
コマンド:
aws codepipeline get-pipeline --name
MyFirstPipeline
出力:
{ "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 詳細については、AWS CLI 「 コマンドリファレンスGetPipeline
」の「」を参照してください。
-
次のコード例は、list-action-executions
を使用する方法を示しています。
- AWS CLI
-
アクション実行を一覧表示するには
次の
list-action-executions
例では、アクション実行 ID、入力アーティファクト、出力アーティファクト、実行結果、ステータスなど、パイプラインのアクション実行の詳細を表示します。aws codepipeline list-action-executions \ --pipeline-name
myPipeline
出力:
{ "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" } } }, . . . .
詳細については、AWS CodePipeline 「 ユーザーガイド」の「アクション実行の表示 (CLI)」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスListActionExecutions
」の「」を参照してください。
-
次のコード例は、list-action-types
を使用する方法を示しています。
- AWS CLI
-
使用可能なアクションタイプを表示するには
単独で使用するコマンドは list-action-types、 AWS アカウントで使用できるすべてのアクションの構造を返します。この例では、-- action-owner-filter オプションを使用してカスタムアクションのみを返します。
コマンド:
aws codepipeline list-action-types --action-owner-filter
Custom
出力:
{ "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}" } } ] }
-
API 詳細については、AWS CLI 「 コマンドリファレンスListActionTypes
」の「」を参照してください。
-
次の例は、list-pipeline-executions
を使用する方法を説明しています。
- AWS CLI
-
パイプライン実行履歴を表示するには
次の
list-pipeline-executions
例は、 AWS アカウントのパイプラインのパイプライン実行履歴を示しています。aws codepipeline list-pipeline-executions \ --pipeline-name
MyPipeline
出力:
{ "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" } ] }
詳細については、AWS CodePipeline 「 ユーザーガイド」の「実行履歴の表示」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスListPipelineExecutions
」の「」を参照してください。
-
次の例は、list-pipelines
を使用する方法を説明しています。
- AWS CLI
-
パイプラインのリストを表示するには
この例では、ユーザーの AWS アカウントに関連付けられているすべての AWS CodePipeline パイプラインを一覧表示します。
コマンド:
aws codepipeline list-pipelines
出力:
{ "pipelines": [ { "updated": 1439504274.641, "version": 1, "name": "MyFirstPipeline", "created": 1439504274.641 }, { "updated": 1436461837.992, "version": 2, "name": "MySecondPipeline", "created": 1436460801.381 } ] }
-
API 詳細については、AWS CLI 「 コマンドリファレンスListPipelines
」の「」を参照してください。
-
次の例は、list-tags-for-resource
を使用する方法を説明しています。
- AWS CLI
-
タグを一覧表示するには
次の
list-tags-for-resource
例では、指定されたパイプラインリソースにアタッチされたすべてのタグのリストを取得します。aws codepipeline list-tags-for-resource \ --resource-arn
arn:aws:codepipeline:us-east-1:123456789012:MyPipeline
出力:
{ "tags": { "Project": "ProjectA", "IscontainerBased": "true" } }
詳細については、AWS CodePipeline 「 ユーザーガイド」の「パイプライン (CLI) のタグを表示する」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスListTagsForResource
」の「」を参照してください。
-
次のコード例は、list-webhooks
を使用する方法を示しています。
- AWS CLI
-
ウェブフックを一覧表示するには
次の
list-webhooks
例では、指定されたパイプラインリソースにアタッチされたすべてのタグのリストを取得します。aws codepipeline list-webhooks \ --endpoint-url
"https://codepipeline.eu-central-1.amazonaws.com"
\ --region"eu-central-1"
出力:
{ "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" } ] }
詳細については、「 ユーザーガイド」の「 アカウントのウェブフックを一覧表示する」を参照してください。 AWS CodePipeline
-
API 詳細については、AWS CLI 「 コマンドリファレンスListWebhooks
」の「」を参照してください。
-
次のコード例は、poll-for-jobs
を使用する方法を示しています。
- AWS CLI
-
使用可能なジョブを表示するには
この例では、ジョブワーカーが実行するジョブに関する情報を返します。この例では、定義済みJSONファイル (MyActionTypeInfo.json) を使用して、ジョブワーカーがジョブを処理するアクションタイプに関する情報を提供します。このコマンドはカスタムアクションにのみ使用されます。このコマンドが呼び出されると、 はパイプラインのアーティファクトの保存に使用される Amazon S3 バケットの一時的な認証情報 AWS CodePipeline を返します。このコマンドは、アクションに定義されているシークレット値がある場合も返します。
コマンド:
aws codepipeline poll-for-jobs --cli-input-json
file://MyActionTypeInfo.json
JSON ファイルサンプルの内容:
{ "actionTypeId": { "category": "Test", "owner": "Custom", "provider": "MyJenkinsProviderName", "version": "1" }, "maxBatchSize": 5, "queryParam": { "ProjectName": "MyJenkinsTestProject" } }
出力:
{ "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 詳細については、AWS CLI 「 コマンドリファレンスPollForJobs
」の「」を参照してください。
-
次のコード例は、put-webhook
を使用する方法を示しています。
- AWS CLI
-
ウェブフックを作成するには
次の
put-webhook
例では、 GitHub バージョン 1 ソースアクションのウェブフックを作成します。ウェブフックを作成したら、 register-webhook-with-thirdパーティコマンドを使用してウェブフックを登録する必要があります。aws codepipeline put-webhook \ --cli-input-json
file://webhook_json.json
\ --region"eu-central-1"
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" } } }
出力:
{ "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" } ] }
詳細については、AWS CodePipeline 「 ユーザーガイド」の GitHub 「ソースのウェブフックを作成する」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスPutWebhook
」の「」を参照してください。
-
次の例は、retry-stage-execution
を使用する方法を説明しています。
- AWS CLI
-
失敗したアクションを再試行するには
次の
retry-stage-execution
例では、失敗したアクションを持つステージを再試行します。aws codepipeline retry-stage-execution \ --pipeline-name
MyPipeline
\ --stage-nameDeploy
\ --pipeline-execution-idb59babff-5f34-EXAMPLE
\ --retry-modeFAILED_ACTIONS
出力:
{ "pipelineExecutionId": "b59babff-5f34-EXAMPLE" }
詳細については、 AWS CodePipeline ユーザーガイドの「失敗したアクションを再試行する (CLI)」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスRetryStageExecution
」の「」を参照してください。
-
次のコード例は、start-pipeline-execution
を使用する方法を示しています。
- AWS CLI
-
パイプラインを介して最新のリビジョンを実行するには
この例では、MyFirstPipeline「」という名前のパイプラインを介してパイプラインのソースステージに存在する最新のリビジョンを実行します。
コマンド:
aws codepipeline start-pipeline-execution --name
MyFirstPipeline
出力:
{ "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE" }
-
API 詳細については、AWS CLI 「 コマンドリファレンスStartPipelineExecution
」の「」を参照してください。
-
次の例は、stop-pipeline-execution
を使用する方法を説明しています。
- AWS CLI
-
パイプラインの実行を停止するには
次の
stop-pipeline-execution
例では、デフォルトで進行中のアクションが完了するまで待機し、パイプラインを停止します。実行がすでに [停止] 状態になっている場合、[Stop and wait (停止して待機)] を選択することはできません。実行がすでに [停止] 状態になっている場合、[Stop and abandon (停止して中止)] を選択することはできません。aws codepipeline stop-pipeline-execution \ --pipeline-name
MyFirstPipeline
\ --pipeline-execution-idd-EXAMPLE
\ --reason"Stopping pipeline after the build action is done"
このコマンドは出力なしを返します。
詳細については、AWS CodePipeline 「 ユーザーガイド」の「パイプライン実行を停止する (CLI)」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスStopPipelineExecution
」の「」を参照してください。
-
次の例は、tag-resource
を使用する方法を説明しています。
- AWS CLI
-
リソースにタグを付けるには
次の
tag-resource
例では、提供されたタグのセットをパイプラインに関連付けます。このコマンドを使用して、タグを追加または編集します。aws codepipeline tag-resource \ --resource-arn
arn:aws:codepipeline:us-east-1:123456789012:MyPipeline
\ --tagskey=Project,value=ProjectA
key=IscontainerBased,value=true
このコマンドでは何も出力されません。
詳細については、AWS CodePipeline 「 ユーザーガイド」の「パイプラインにタグを追加する (CLI)」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスTagResource
」の「」を参照してください。
-
次の例は、untag-resource
を使用する方法を説明しています。
- AWS CLI
-
接続リソースから AWS タグを削除するには
次の
untag-resource
例では、指定されたリソースからタグを削除します。aws codepipeline untag-resource \ --resource-arn
arn:aws:codepipeline:us-east-1:123456789012:MyPipeline
\ --tag-keysProject
IscontainerBased
このコマンドでは何も出力されません。
詳細については、AWS CodePipeline 「 ユーザーガイド」の「パイプライン (CLI) からタグを削除する」を参照してください。
-
API 詳細については、AWS CLI 「 コマンドリファレンスUntagResource
」の「」を参照してください。
-
次のコード例は、update-pipeline
を使用する方法を示しています。
- AWS CLI
-
パイプラインの構造を更新するには
この例では、--cli-input-json argument で update-pipeline コマンドを使用します。この例では、事前定義されたJSONファイル (MyFirstPipeline.json) を使用してパイプラインの構造を更新します。 はJSON、ファイルに含まれるパイプライン名 AWS CodePipeline を認識し、パイプライン構造内の変更されたフィールドからの変更を適用してパイプラインを更新します。
事前定義されたJSONファイルを作成するときは、次のガイドラインを使用します。
get-pipeline コマンドを使用して取得したパイプライン構造を使用する場合は、JSONファイルのパイプライン構造からメタデータセクションを削除する必要があります (「メタデータ」: { } 行、「作成済み、」パイプライン ARN、「更新済み」フィールド)。パイプライン名は変更できません。
コマンド:
aws codepipeline update-pipeline --cli-input-json
file://MyFirstPipeline.json
サンプルJSONファイルの内容:
{ "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 } }
出力:
{ "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 } }
-
API 詳細については、AWS CLI 「 コマンドリファレンスUpdatePipeline
」の「」を参照してください。
-