UNPKG

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
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; }