@Generated(value="jsii-pacmak/1.74.0 (build 6d08790)", date="2023-03-22T19:35:45.047Z") public class PipelineProject extends Project
Example:
// Create a Cloudfront Web Distribution import software.amazon.awscdk.services.cloudfront.*; Distribution distribution; // Create the build project that will invalidate the cache PipelineProject invalidateBuildProject = PipelineProject.Builder.create(this, "InvalidateProject") .buildSpec(BuildSpec.fromObject(Map.of( "version", "0.2", "phases", Map.of( "build", Map.of( "commands", List.of("aws cloudfront create-invalidation --distribution-id ${CLOUDFRONT_ID} --paths \"/*\"")))))) .environmentVariables(Map.of( "CLOUDFRONT_ID", BuildEnvironmentVariable.builder().value(distribution.getDistributionId()).build())) .build(); // Add Cloudfront invalidation permissions to the project String distributionArn = String.format("arn:aws:cloudfront::%s:distribution/%s", this.account, distribution.getDistributionId()); invalidateBuildProject.addToRolePolicy(PolicyStatement.Builder.create() .resources(List.of(distributionArn)) .actions(List.of("cloudfront:CreateInvalidation")) .build()); // Create the pipeline (here only the S3 deploy and Invalidate cache build) Bucket deployBucket = new Bucket(this, "DeployBucket"); Artifact deployInput = new Artifact(); Pipeline.Builder.create(this, "Pipeline") .stages(List.of(StageProps.builder() .stageName("Deploy") .actions(List.of( S3DeployAction.Builder.create() .actionName("S3Deploy") .bucket(deployBucket) .input(deployInput) .runOrder(1) .build(), CodeBuildAction.Builder.create() .actionName("InvalidateCache") .project(invalidateBuildProject) .input(deployInput) .runOrder(2) .build())) .build())) .build();
Modifier and Type | Class and Description |
---|---|
static class |
PipelineProject.Builder
A fluent builder for
PipelineProject . |
IProject.Jsii$Default, IProject.Jsii$Proxy
Modifier | Constructor and Description |
---|---|
protected |
PipelineProject(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) |
protected |
PipelineProject(software.amazon.jsii.JsiiObjectRef objRef) |
|
PipelineProject(software.constructs.Construct scope,
java.lang.String id) |
|
PipelineProject(software.constructs.Construct scope,
java.lang.String id,
PipelineProjectProps props) |
addFileSystemLocation, addSecondaryArtifact, addSecondarySource, addToRolePolicy, bindAsNotificationRuleSource, bindToCodePipeline, enableBatchBuilds, fromProjectArn, fromProjectName, getConnections, getGrantPrincipal, getProjectArn, getProjectName, getRole, metric, metric, metricBuilds, metricBuilds, metricDuration, metricDuration, metricFailedBuilds, metricFailedBuilds, metricSucceededBuilds, metricSucceededBuilds, notifyOn, notifyOnBuildFailed, notifyOnBuildFailed, notifyOnBuildSucceeded, notifyOnBuildSucceeded, onBuildFailed, onBuildFailed, onBuildStarted, onBuildStarted, onBuildSucceeded, onBuildSucceeded, onEvent, onEvent, onPhaseChange, onPhaseChange, onStateChange, onStateChange, serializeEnvVariables, serializeEnvVariables, serializeEnvVariables, validate
applyRemovalPolicy, generatePhysicalName, getEnv, getPhysicalName, getResourceArnAttribute, getResourceNameAttribute, getStack, isResource
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
applyRemovalPolicy, getEnv, getStack
getNode
protected PipelineProject(software.amazon.jsii.JsiiObjectRef objRef)
protected PipelineProject(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
public PipelineProject(software.constructs.Construct scope, java.lang.String id, PipelineProjectProps props)
scope
- This parameter is required.id
- This parameter is required.props
- public PipelineProject(software.constructs.Construct scope, java.lang.String id)
scope
- This parameter is required.id
- This parameter is required.