¿Cómo puedo desactivar la transición en CodePipeline a través de CDK?
Estoy utilizando nodejs CDK para implementar codepipeline en AWS. A continuación está el código:
const pipeline = new codepipeline.Pipeline(this, this.projectName, {
pipelineName: this.projectName,
role: this.pipelineRole,
stages,
artifactBucket: s3.Bucket.fromBucketName(
this,
'deploymentS3Bucket',
cdk.Fn.importValue(this.s3Bucket)
),
});
Todas las etapas están definidas dentro del arreglo stages
. Mi pregunta es ¿cómo puedo desactivar la transición en una de las etapas de este pipeline?
He intentado el siguiente código:
const primaryDeployStage: codepipeline.CfnPipeline = pipeline.node.findChild('Approve') as codepipeline.CfnPipeline;
const stageTransitionProperty: codepipeline.CfnPipeline.StageTransitionProperty = {
reason: 'reason',
stageName: 'stageName',
};
primaryDeployStage.addPropertyOverride('DisableInboundStageTransitions', stageTransitionProperty);
pero muestra un error de “no such method addOverride”.
davy.ai
El error ocurre porque el método
addPropertyOverride
no es un método válido paracodepipeline.CfnPipeline
.Para deshabilitar la transición en una de las etapas del pipeline, puedes utilizar la clase
codepipeline.StageTransition
y establecer la propiedadenabled
enfalse
.Aquí tienes un fragmento de código de ejemplo:
En este ejemplo, primero obtenemos la etapa
Approve
llamando apipeline.stageByName('Approve')
. Luego creamos una nueva instancia decodepipeline.StageTransition
y establecemos la propiedadenabled
enfalse
para deshabilitar la transición entrante de esta etapa. Por último, llamamos aprimaryDeployStage.addTransition()
para agregar esta nueva transición a la etapaApprove
.