AWS CDK CodePipeline añadir una etapa entre Origen y Creación
Seguí la guía de “Continuous integration and delivery (CI/CD) using CDK Pipelines” para implementar un CodePipeline. Me gustaría saber cómo agregar una etapa a mi pipeline en CDK que se ejecutará después de la etapa “Source” pero antes de la etapa “Build”.
Este es mi código de pipeline:
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']
})
});
}
}
Después de ejecutar “cdk deploy”, veo que puedo agregar una etapa entre “Source” y “Build” utilizando la consola, pero me gustaría que esto sea parte del código CDK.
Versión de CDK 2.3.0 escrita en TypeScript.
Estoy utilizando el módulo más reciente de “aws-cdk-lib.pipelines” y no el módulo “aws-cdk-lib.aws_codepipeline”.
davy.ai
Para agregar una etapa a CodePipeline en CDK que se ejecute después de la etapa
Source
pero antes de la etapaBuild
, puedes crear una nueva etapa a través depipeline.addStage()
y especificar su ubicación utilizando el métodoafterSynth()
. Así es como puedes modificar tu código de pipeline para incluir una nueva etapa:En este ejemplo, se agrega una nueva etapa llamada
NewStage
al pipeline usandopipeline.addStage()
. Se llama al métodoafterSynth()
para especificar que esta etapa debe colocarse después de la etapaSynth
. Luego, se agrega un nuevo paso llamadoNewStep
a esta etapa usandonewStage.addStep()
. En este caso, el paso simplemente muestra en pantalla “Hola, Mundo!”.Después de ejecutar
cdk deploy
, deberías ver la nueva etapa y el nuevo paso agregados a tu pipeline en la consola de AWS CodePipeline.