【发布时间】:2022-01-06 00:03:15
【问题描述】:
我按照Continuous integration and delivery (CI/CD) using CDK Pipelines 指南实施了 CodePipeline。我想知道如何在 CDK 中的管道中添加一个阶段,该阶段将在 Source 阶段之后但在 Build 阶段之前运行。
这是我的管道代码:
import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { Repository } from 'aws-cdk-lib/aws-codecommit';
import { CodePipeline, CodePipelineSource, ShellStep } from 'aws-cdk-lib/pipelines';
export class MyPipelineStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props);
const repo = Repository.fromRepositoryName(this, 'CogClientRepo', 'cog-client');
const pipeline = new CodePipeline(this, 'Pipeline', {
pipelineName: 'MyPipeline',
synth: new ShellStep('Synth', {
input: CodePipelineSource.codeCommit(repo, 'main'),
commands: ['npm ci', 'npm run build', 'npx cdk synth']
})
});
}
}
运行cdk deploy 后,我发现我可以使用控制台在Source 和Build 之间添加一个阶段,但我希望这成为CDK 代码的一部分。
用 TypeScript 编写的 CDK 版本 2.3.0
我使用的是更新的 aws-cdk-lib.pipelines 模块,而不是 aws-cdk-lib.aws_codepipeline 模块。
【问题讨论】:
标签: typescript amazon-web-services aws-cdk aws-codepipeline aws-codebuild