😺

AWS CDK v2 で CodePipeline における Node.js のバージョン指定

2023/09/01に公開

AWS CDK v2 を使用して CodePipeline の中で Node.js のバージョンを指定する方法。

ビルドプロジェクトの定義

以下のようにビルドプロジェクトを定義し、runtime-versionsを使用してNode.jsのバージョンを指定します。

import { CodePipeline, CodePipelineProps } from 'aws-cdk-lib/pipelines';
import { Bucket } from 'aws-cdk-lib/aws-s3';
import { BuildSpec } from 'aws-cdk-lib/aws-codebuild';
import { Stack, StackProps } from 'aws-cdk-lib';
import { Construct } from 'constructs';

export class MyPipelineStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);

    const pipelineArtifactBucket = new Bucket(this, 'PipelineArtifactBucket');

    const pipeline = new CodePipeline(this, 'Pipeline', {
      pipelineName: 'example-pipeline',
      artifactBucket: pipelineArtifactBucket,
      synthCodeBuildDefaults: {
        partialBuildSpec: BuildSpec.fromObject({
          phases: {
            install: {
              'runtime-versions': {
                nodejs: '18',
              },
            },
          },
        }),
      },
    });
  }
}

この設定により、CodePipelineのsynthステージでNode.jsのバージョン18が使用されるようになります。

Let's happy coding

Discussion