AWS CDK CodePipeline 在 Source 和 Build 之间添加一个阶段
AWS CDK CodePipeline add a stage between Source and Build
我按照 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']
})
});
}
}
在 运行ning cdk deploy
之后,我看到我可以使用控制台在 Source
和 Build
之间添加一个阶段,但我希望这是一部分的 CDK 代码。
用 TypeScript 编写的 CDK 版本 2.3.0
我正在使用更新的 aws-cdk-lib.pipelines module and not the aws-cdk-lib.aws_codepipeline 模块。
因此,CDK 确定将您创建的动作放在哪里的方式是通过它们的输入和输出。要在源和构建之间添加一个动作,您需要创建一个动作(或一系列动作),将源输出作为输入,并生成一个由合成步骤用作输入的输出。
下面是 Python 中的示例,它在 TS 中的工作方式相同:
my_source_action = CodePipelineSource.code_commit(repo, "main")
my_intermediary_action = CodeBuildStep("myAction", input=my_source_action)
my_synth_action = ShellStep(
"Synth",
input=my_intermediary_action,
commands=['...']
)
我按照 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']
})
});
}
}
在 运行ning cdk deploy
之后,我看到我可以使用控制台在 Source
和 Build
之间添加一个阶段,但我希望这是一部分的 CDK 代码。
用 TypeScript 编写的 CDK 版本 2.3.0
我正在使用更新的 aws-cdk-lib.pipelines module and not the aws-cdk-lib.aws_codepipeline 模块。
因此,CDK 确定将您创建的动作放在哪里的方式是通过它们的输入和输出。要在源和构建之间添加一个动作,您需要创建一个动作(或一系列动作),将源输出作为输入,并生成一个由合成步骤用作输入的输出。
下面是 Python 中的示例,它在 TS 中的工作方式相同:
my_source_action = CodePipelineSource.code_commit(repo, "main")
my_intermediary_action = CodeBuildStep("myAction", input=my_source_action)
my_synth_action = ShellStep(
"Synth",
input=my_intermediary_action,
commands=['...']
)