기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Step Functions를와 통합하여 빌드 AWS CodeBuild 를 시작, 중지 및 관리할 수 있습니다. 이 페이지에는 Step Functions와 함께 사용할 수 있는 지원되는 CodeBuild API가 나열되어 있습니다.
Step Functions의 AWS 서비스와 통합하는 방법에 대한 자세한 내용은 서비스 통합 및 섹션을 참조하세요Step Functions의 서비스 API에 파라미터 전달.
Step Functions와의 통합을 통해 Step Functions를 사용하여 빌드를 트리거, 중지 및 관리하고 빌드 보고서를 공유할 AWS CodeBuild 수 있습니다. Step Functions를 사용하면 애플리케이션의 소프트웨어 변경 사항을 검증할 수 있도록 지속적인 통합 파이프라인을 설계하고 실행할 수 있습니다.
최적화된 CodeBuild 통합의 주요 기능
-
작업 실행(.sync) 통합 패턴이 지원됩니다.
-
StopBuild
또는StopBuildBatch
를 직접적으로 호출한 후에는 빌드 상태가 마무리되도록 일부 내부 작업이 CodeBuild 내에서 완료될 때까지 빌드나 빌드 배치를 즉시 삭제할 수 없습니다.이 기간 동안
BatchDeleteBuilds
또는DeleteBuildBatch
를 사용하려고 하면 빌드나 빌드 배치가 삭제되지 않을 수 있습니다.BatchDeleteBuilds
및DeleteBuildBatch
의 최적화된 서비스 통합에는 중지 후 즉시 삭제하는 사용 사례를 단순화하기 위한 내부 재시도가 포함되어 있습니다.
다음 표에 나와 있는 것처럼 일부 API는 일부 통합 패턴을 지원하지 않습니다.
API | 요청 및 응답 | 작업 실행(.sync) |
---|---|---|
StartBuild | 지원 | 지원 |
StopBuild | 지원 | 지원되지 않음 |
BatchDeleteBuilds | 지원 | 지원되지 않음 |
BatchGetReports | 지원 | 지원되지 않음 |
StartBuildBatch | 지원 | 지원 |
StopBuildBatch | 지원 | 지원되지 않음 |
RetryBuildBatch | 지원 | 지원 |
DeleteBuildBatch | 지원 | 지원되지 않음 |
Step Functions의 파라미터는 PascalCase로 표현됩니다.
기본 서비스 API가 API 작업 startSyncExecution
과 같은 camelCase에 있더라도 StateMachineArn
과 같은 파라미터를 PascalCase에 지정합니다.
최적화된 CodeBuild APIs
-
-
지원되는 파라미터:
-
-
-
지원되는 파라미터:
-
참고
BatchDeleteBuilds
에 대한 JSONPath
재귀적 하강(..
) 연산자를 사용할 수 있습니다. 반환된 배열을 사용하면 다음 예제와 같이 Arn
필드를 StartBuild
에서 복수 Ids
파라미터로 변환할 수 있습니다.
"BatchDeleteBuilds": {
"Type": "Task",
"Resource": "arn:aws:states:::codebuild:batchDeleteBuilds",
"Parameters": {
"Ids.$": "$.Build..
Arn"
},
"Next": "MyNextState"
},
호출을 위한 IAM 정책 AWS CodeBuild
다음 예제 템플릿은가 상태 시스템 정의의 리소스를 기반으로 IAM 정책을 AWS Step Functions 생성하는 방법을 보여줍니다. 자세한 내용은 Step Functions가 통합 서비스용 IAM 정책을 생성하는 방법 및 Step Functions에서 서비스 통합 패턴 검색 단원을 참조하세요.
리소스:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"sns:Publish"
],
"Resource": [
"arn:aws:sns:sa-east-1:123456789012:StepFunctionsSample-CodeBuildExecution1111-2222-3333-wJalrXUtnFEMI-SNSTopic-bPxRfiCYEXAMPLEKEY"
],
"Effect": "Allow"
},
{
"Action": [
"codebuild:StartBuild",
"codebuild:StopBuild",
"codebuild:BatchGetBuilds",
"codebuild:BatchGetReports"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"events:PutTargets",
"events:PutRule",
"events:DescribeRule"
],
"Resource": [
"arn:aws:events:sa-east-1:123456789012:rule/StepFunctionsGetEventForCodeBuildStartBuildRule"
],
"Effect": "Allow"
}
]
}
StartBuild
정적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StartBuild",
"codebuild:StopBuild",
"codebuild:BatchGetBuilds"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
},
{
"Effect": "Allow",
"Action": [
"events:PutTargets",
"events:PutRule",
"events:DescribeRule"
],
"Resource": [
"arn:aws:events:[[region]]
:[[accountId]]
:rule/StepFunctionsGetEventForCodeBuildStartBuildRule"
]
}
]
}
동적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StartBuild",
"codebuild:StopBuild",
"codebuild:BatchGetBuilds"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:*:project/*"
]
},
{
"Effect": "Allow",
"Action": [
"events:PutTargets",
"events:PutRule",
"events:DescribeRule"
],
"Resource": [
"arn:aws:events:[[region]]
:[[accountId]]
:rule/StepFunctionsGetEventForCodeBuildStartBuildRule"
]
}
]
}
StopBuild
정적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StopBuild"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
}
]
}
동적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StopBuild"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:*:project/*"
]
}
]
}
BatchDeleteBuilds
정적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:BatchDeleteBuilds"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
}
]
}
동적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:BatchDeleteBuilds"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:*:project/*"
]
}
]
}
BatchGetReports
정적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:BatchGetReports"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:report-group/[[reportName]]
"
]
}
]
}
동적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:BatchGetReports"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:*:report-group/*"
]
}
]
}
StartBuildBatch
정적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StartBuildBatch",
"codebuild:StopBuildBatch",
"codebuild:BatchGetBuildBatches"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
},
{
"Effect": "Allow",
"Action": [
"events:PutTargets",
"events:PutRule",
"events:DescribeRule"
],
"Resource": [
"arn:aws:events:[[region]]
:[[accountId]]
:rule/StepFunctionsGetEventForCodeBuildStartBuildBatchRule"
]
}
]
}
동적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StartBuildBatch",
"codebuild:StopBuildBatch",
"codebuild:BatchGetBuildBatches"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/*"
]
},
{
"Effect": "Allow",
"Action": [
"events:PutTargets",
"events:PutRule",
"events:DescribeRule"
],
"Resource": [
"arn:aws:events:[[region]]
:[[accountId]]
:rule/StepFunctionsGetEventForCodeBuildStartBuildBatchRule"
]
}
]
}
StopBuildBatch
정적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StopBuildBatch"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
}
]
}
동적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:StopBuildBatch"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/*"
]
}
]
}
RetryBuildBatch
정적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:RetryBuildBatch",
"codebuild:StopBuildBatch",
"codebuild:BatchGetBuildBatches"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
}
]
}
동적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:RetryBuildBatch",
"codebuild:StopBuildBatch",
"codebuild:BatchGetBuildBatches"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/*"
]
}
]
}
DeleteBuildBatch
정적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:DeleteBuildBatch"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/[[projectName]]
"
]
}
]
}
동적 리소스
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"codebuild:DeleteBuildBatch"
],
"Resource": [
"arn:aws:codebuild:[[region]]
:[[accountId]]
:project/*"
]
}
]
}