La acción de despliegue de AWS CDK EcsDeployAction actualiza el servicio Fargate existente.
Estoy implementando servicios de Fargate a través de AWS CDK con facilidad.
Ahora necesito actualizar un servicio, por ejemplo, la imagen de una tarea. Estoy tratando de lograr esto utilizando @aws-cdk/aws-codepipeline y la acción EcsDeployAction. Estoy intentando importar y actualizar un servicio existente de Fargate (previamente implementado), así:
const pipeline = new codepipeline.Pipeline(this, ‘MyPipeline’)
// importar un servicio de Fargate existente
const fargateService = ecs.FargateService.fromFargateServiceArn(
this,
“FargateService”,
“MyFargateServiceARN”
);
// Desplegar una nueva versión de acuerdo con lo que sea necesario
const sourceStage = this.pipeline.addStage({
stageName: ‘Desplegar’,
actions: [
new codepipeline_actions.EcsDeployAction({
actionName: “ECS-Service”,
service: fargateService, // aquí el error de typescript
input: …
})
]
})
Pero parece que no está correcto porque obtengo un error de typescript:
Property ‘cluster’ is missing in type ‘IFargateService’ but required in type ‘IBaseService’
¿Alguna idea?
davy.ai
Parece que falta la propiedad
cluster
al importar su servicio Fargate existente utilizandoFargateService.fromFargateServiceArn()
. Para solucionar el error de TypeScript, debería proporcionar también la propiedadcluster
:Asegúrese de reemplazar
myCluster
con el nombre del clúster donde está implementado su servicio Fargate. Una vez que proporcione la propiedadcluster
, el error de TypeScript debería desaparecer y debería poder actualizar el servicio Fargate utilizandoEcsDeployAction
.