AWS::CodeBuild::Project Artifacts
Artifacts
is a property of the
AWS::CodeBuild::Project resource that specifies output settings for
artifacts generated by an AWS CodeBuild build.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "ArtifactIdentifier" :
String
, "EncryptionDisabled" :Boolean
, "Location" :String
, "Name" :String
, "NamespaceType" :String
, "OverrideArtifactName" :Boolean
, "Packaging" :String
, "Path" :String
, "Type" :String
}
YAML
ArtifactIdentifier:
String
EncryptionDisabled:Boolean
Location:String
Name:String
NamespaceType:String
OverrideArtifactName:Boolean
Packaging:String
Path:String
Type:String
Properties
ArtifactIdentifier
-
An identifier for this artifact definition.
Required: No
Type: String
Update requires: No interruption
EncryptionDisabled
-
Set to true if you do not want your output artifacts encrypted. This option is valid only if your artifacts type is Amazon Simple Storage Service (Amazon S3). If this is set with another artifacts type, an
invalidInputException
is thrown.Required: No
Type: Boolean
Update requires: No interruption
Location
-
Information about the build output artifact location:
-
If
type
is set toCODEPIPELINE
, AWS CodePipeline ignores this value if specified. This is because CodePipeline manages its build output locations instead of CodeBuild. -
If
type
is set toNO_ARTIFACTS
, this value is ignored if specified, because no build output is produced. -
If
type
is set toS3
, this is the name of the output bucket.
If you specify
CODEPIPELINE
orNO_ARTIFACTS
for theType
property, don't specify this property. For all of the other types, you must specify this property.Required: Conditional
Type: String
Update requires: No interruption
-
Name
-
Along with
path
andnamespaceType
, the pattern that AWS CodeBuild uses to name and store the output artifact:-
If
type
is set toCODEPIPELINE
, AWS CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild. -
If
type
is set toNO_ARTIFACTS
, this value is ignored if specified, because no build output is produced. -
If
type
is set toS3
, this is the name of the output artifact object. If you set the name to be a forward slash ("/"), the artifact is stored in the root of the output bucket.
For example:
-
If
path
is set toMyArtifacts
,namespaceType
is set toBUILD_ID
, andname
is set toMyArtifact.zip
, then the output artifact is stored inMyArtifacts/build-ID/MyArtifact.zip
. -
If
path
is empty,namespaceType
is set toNONE
, andname
is set to "/
", the output artifact is stored in the root of the output bucket. -
If
path
is set toMyArtifacts
,namespaceType
is set toBUILD_ID
, andname
is set to "/
", the output artifact is stored inMyArtifacts/build-ID
.
If you specify
CODEPIPELINE
orNO_ARTIFACTS
for theType
property, don't specify this property. For all of the other types, you must specify this property.Required: Conditional
Type: String
Update requires: No interruption
-
NamespaceType
-
Along with
path
andname
, the pattern that AWS CodeBuild uses to determine the name and location to store the output artifact:-
If
type
is set toCODEPIPELINE
, CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild. -
If
type
is set toNO_ARTIFACTS
, this value is ignored if specified, because no build output is produced. -
If
type
is set toS3
, valid values include:-
BUILD_ID
: Include the build ID in the location of the build output artifact. -
NONE
: Do not include the build ID. This is the default ifnamespaceType
is not specified.
-
For example, if
path
is set toMyArtifacts
,namespaceType
is set toBUILD_ID
, andname
is set toMyArtifact.zip
, the output artifact is stored inMyArtifacts/<build-ID>/MyArtifact.zip
.Required: No
Type: String
Allowed values:
NONE | BUILD_ID
Update requires: No interruption
-
OverrideArtifactName
-
If set to true a name specified in the buildspec file overrides the artifact name. The name specified in a buildspec file is calculated at build time and uses the Shell command language. For example, you can append a date and time to your artifact name so that it is always unique.
Required: No
Type: Boolean
Update requires: No interruption
Packaging
-
The type of build output artifact to create:
-
If
type
is set toCODEPIPELINE
, CodePipeline ignores this value if specified. This is because CodePipeline manages its build output artifacts instead of AWS CodeBuild. -
If
type
is set toNO_ARTIFACTS
, this value is ignored if specified, because no build output is produced. -
If
type
is set toS3
, valid values include:-
NONE
: AWS CodeBuild creates in the output bucket a folder that contains the build output. This is the default ifpackaging
is not specified. -
ZIP
: AWS CodeBuild creates in the output bucket a ZIP file that contains the build output.
-
Required: No
Type: String
Allowed values:
NONE | ZIP
Update requires: No interruption
-
Path
-
Along with
namespaceType
andname
, the pattern that AWS CodeBuild uses to name and store the output artifact:-
If
type
is set toCODEPIPELINE
, CodePipeline ignores this value if specified. This is because CodePipeline manages its build output names instead of AWS CodeBuild. -
If
type
is set toNO_ARTIFACTS
, this value is ignored if specified, because no build output is produced. -
If
type
is set toS3
, this is the path to the output artifact. Ifpath
is not specified,path
is not used.
For example, if
path
is set toMyArtifacts
,namespaceType
is set toNONE
, andname
is set toMyArtifact.zip
, the output artifact is stored in the output bucket atMyArtifacts/MyArtifact.zip
.Required: No
Type: String
Update requires: No interruption
-
Type
-
The type of build output artifact. Valid values include:
-
CODEPIPELINE
: The build project has build output generated through CodePipeline.Note
The
CODEPIPELINE
type is not supported forsecondaryArtifacts
. -
NO_ARTIFACTS
: The build project does not produce any build output. -
S3
: The build project stores build output in Amazon S3.
Required: Yes
Type: String
Allowed values:
CODEPIPELINE | S3 | NO_ARTIFACTS
Update requires: No interruption
-