opinionated-ci-pipeline
Version:
CI/CD on AWS with feature-branch builds, developer-environment deployments, and build status notifications.
27 lines (26 loc) • 1.23 kB
TypeScript
import { Construct } from 'constructs';
import { ResolvedApplicationProps } from '../applicationProps';
import { Topic } from 'aws-cdk-lib/aws-sns';
import { IStringParameter } from 'aws-cdk-lib/aws-ssm';
import * as s3 from 'aws-cdk-lib/aws-s3';
export interface MainPipelineProps extends Pick<ResolvedApplicationProps, 'stacks' | 'repository' | 'commands' | 'pipeline' | 'cdkOutputDirectory' | 'codeBuild' | 'codePipeline' | 'fixPathsMetadata'> {
sourceBucket: s3.IBucket;
repositoryTokenParam: IStringParameter;
}
export declare class MainPipeline extends Construct {
readonly failuresTopic: Topic;
constructor(scope: Construct, id: string, props: MainPipelineProps);
private isWave;
private addWaveDeployment;
private addEnvironmentDeployment;
private createPipelineFailuresTopic;
/**
* To send CodePipeline build status back to repository:
* - trigger Lambda function on CodePipeline state change events,
* - in Lambda:
* - get CodePipeline execution details to get commit SHA,
* - send custom event to EventBridge including the commit SHA,
* - use EventBridge to send build status to repository.
*/
private createPipelineBuildNotifications;
}