Create your CodePipeline

11.1 Return to your CDK project folder.

cd ~/environment/cdk-msg-app-backend/

11.2. In lib/cdk-msg-app-backend-stack.ts, add the following below the last import.

import * as codebuild from '@aws-cdk/aws-codebuild';
import * as codepipeline from '@aws-cdk/aws-codepipeline';
import * as codepipeline_actions from '@aws-cdk/aws-codepipeline-actions';

11.3. In lib/cdk-msg-app-backend-stack.ts, add the following code inside the constructor

    const project = new codebuild.PipelineProject(this, 'MyProject',{
      environment: {
        buildImage: codebuild.LinuxBuildImage.STANDARD_2_0,
        privileged: true
    const buildRolePolicy =  new iam.PolicyStatement({
      effect: iam.Effect.ALLOW,
      resources: ['*'],
      actions: [
    const sourceOutput = new codepipeline.Artifact();
    const buildOutput = new codepipeline.Artifact();
    const sourceAction = new codepipeline_actions.CodeCommitSourceAction({
      actionName: 'CodeCommit',
      repository: code,
      output: sourceOutput,
    const buildAction = new codepipeline_actions.CodeBuildAction({
      actionName: 'CodeBuild',
      input: sourceOutput,
      outputs: [buildOutput],
    new codepipeline.Pipeline(this, 'MyPipeline', {
      stages: [
          stageName: 'Source',
          actions: [sourceAction],
          stageName: 'Build',
          actions: [buildAction],
          stageName: 'Deploy',
          actions: [
            new codepipeline_actions.EcsDeployAction({
              actionName: "ECS-Service",
              service: service, 
              input: buildOutput

11.4. Save it and make sure it builds and creates a stack.

npm run build
cdk synth

11.5. Deploy the stack.

cdk deploy
  • Do you wish to deploy these changes (y/n)? y

11.6. Open the AWS CodePipeline console at

11.7. On the Pipelines page, choose your CDK pipeline.


11.8. You will see the pipeline In progress or Succeeded.


11.8. Now you can work in your cdk-msg-app-backend project and have continuous integration and continuous deployments every time you push to CodeCommit.