AWS CloudFormation
User Guide (API Version 2010-05-15)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

AWS::CodeBuild::Project

AWS::CodeBuild::Project 资源配置 AWS CodeBuild 生成源代码的方式。例如,它将告知 AWS CodeBuild 源代码的获取位置以及要使用的生成环境。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::CodeBuild::Project", "Properties" : { "Artifacts" : Artifacts, "Description" : String, "EncryptionKey" : String, "Environment" : Environment, "Name" : String, "ServiceRole" : String, "Source" : Source, "Tags" : [ Resource Tag, ... ], "TimeoutInMinutes" : Integer } }

YAML

Type: "AWS::CodeBuild::Project" Properties: Artifacts: Artifacts Description: String EncryptionKey: String Environment: Environment Name: String ServiceRole: String Source: Source Tags: - Resource Tag TimeoutInMinutes: Integer

属性

Artifacts

项目在生成期间生成的项目的输出设置。

Required: Yes

Type: AWS CodeBuild 项目构件

更新要求无需中断

Description

项目的描述。使用此描述可标识项目的目的。

Required: No

Type: String

更新要求无需中断

EncryptionKey

AWS CodeBuild 用于加密生成输出的 AWS Key Management Service (AWS KMS) 客户主密钥 (CMK) 的别名或 Amazon 资源名称 (ARN)。如果您未指定值,AWS CodeBuild 将使用适用于 Amazon Simple Storage Service 的 AWS 托管的 CMK。

Required: No

Type: String

更新要求无需中断

Environment

项目的生成环境设置,如环境类型或要用于生成环境的环境变量。

Required: Yes

Type: AWS CodeBuild 项目环境

更新要求无需中断

Name

项目的名称。此名称在您的 AWS 账户的所有项目中必须是唯一的。

Required: Yes

Type: String

更新要求替换

ServiceRole

AWS CodeBuild 用于代表您与服务进行交互的服务角色的 ARN。

Required: Yes

Type: String

更新要求无需中断

Source

项目的源代码设置,如源代码的存储库类型和位置。

Required: Yes

Type: AWS CodeBuild 项目源

更新要求无需中断

Tags

AWS CodeBuild 项目的任意标签组 (键值对)。

Required: No

Type: AWS CloudFormation 资源标签

更新要求无需中断

TimeoutInMinutes

一个时段 (以分钟为单位),在此时段后,AWS CodeBuild 将停止未完成的生成。有关有效值,请参阅 AWS CodeBuild 用户指南 中的 timeoutInMinutes 字段。

Required: No

Type: Integer

更新要求无需中断

返回值

Ref

当向 Ref 内部函数提供此资源的逻辑 ID 时,Ref 将返回 AWS CodeBuild 项目的名称,如 myProjectName

有关使用 Ref 功能的更多信息,请参阅参考

Fn::GetAtt

Fn::GetAtt 返回一个此类型指定属性的值。此部分列出了可用属性和示例返回值。

Arn

AWS CodeBuild 项目的 ARN,例如 arn:aws:codebuild:us-west-2:123456789012:project/myProjectName

有关使用 Fn::GetAtt 的更多信息,请参见 Fn::GetAtt

示例

以下示例创建一个 AWS CodeBuild 项目。

JSON

{ "Project": { "Type": "AWS::CodeBuild::Project", "Properties": { "Name": "myProjectName", "Description": "A description about my project", "ServiceRole": { "Fn::GetAtt": [ "ServiceRole", "Arn" ] }, "Artifacts": { "Type": "no_artifacts" }, "Environment": { "Type": "LINUX_CONTAINER", "ComputeType": "BUILD_GENERAL1_SMALL", "Image": "aws/codebuild/java:openjdk-8", "EnvironmentVariables": [ { "Name": "varName", "Value": "varValue" } ] }, "Source": { "Location": "codebuild-demo-test/0123ab9a371ebf0187b0fe5614fbb72c", "Type": "S3" }, "TimeoutInMinutes": 10, "Tags": [ { "Key": "Key1", "Value": "Value1" }, { "Key": "Key2", "Value": "Value2" } ] } } }

YAML

Project: Type: AWS::CodeBuild::Project Properties: Name: myProjectName Description: A description about my project ServiceRole: !GetAtt ServiceRole.Arn Artifacts: Type: no_artifacts Environment: Type: LINUX_CONTAINER ComputeType: BUILD_GENERAL1_SMALL Image: aws/codebuild/java:openjdk-8 EnvironmentVariables: - Name: varName Value: varValue Source: Location: codebuild-demo-test/0123ab9a371ebf0187b0fe5614fbb72c Type: S3 TimeoutInMinutes: 10 Tags: - Key: Key1 Value: Value1 - Key: Key2 Value: Value2

本页内容: