Estoy tratando de pasar la variable CodePipeline #{codepipeline PipelineExecutionId} a la acción codeBuild y luego a una acción de implementación.
Entiendo que esta variable está disponible para todas las acciones, como se explica en los documentos de AWS .
Sin embargo, tengo dificultades con la sintaxis ya que los parámetros no se pasan a las acciones.
He estado usando el siguiente código:
Para las acciones de compilación:
- Name: "Build-Docker-Container" Actions: - Name: "Build-Docker-Container" ActionTypeId: Category: Build Owner: AWS Provider: CodeBuild Version: "1" Configuration: ProjectName: !Sub ${ProjectName}-build-${BranchName} EnvironmentVariables: - Name: IMAGE_TAG Type: PLAINTEXT Value: "#{codepipeline.PipelineExecutionId}" InputArtifacts: - Name: !Ref ProjectName RunOrder: 3y para la acción de despliegue:
- Name: "Deploy-Services" Actions: - Name: "Deploy-Services" ActionTypeId: Category: Deploy Owner: AWS Provider: CloudFormation Version: "1" Configuration: ActionMode: CREATE_UPDATE StackName: !Sub "${ProjectName}-services-${BranchName}" TemplatePath: !Sub "${ProjectName}::aws/03-services.yml" Capabilities: "CAPABILITY_NAMED_IAM" RoleArn: !GetAtt DeployRole.Arn ParameterOverrides: !Sub | { "ProjectName": "${ProjectName}", "ExecutionId": "#{codepipeline.PipelineExecutionId}" } InputArtifacts: - Name: !Ref ProjectName - Name: InfrastructureOutput RunOrder: 4ACTUALIZAR El código era realmente bueno; Solo necesitaba actualizar la pila de canalización de CloudFormation para aplicarla (pensé que el webhook de github activaría esto, pero solo actualiza las acciones dentro de la canalización)
Puedo confirmar que la sintaxis que ha utilizado en la acción de implementación es correcta :
ParameterOverrides: !Sub | { "ProjectName": "${ProjectName}", "ExecutionId": "#{codepipeline.PipelineExecutionId}" }Lo verifiqué en mi Pipeline con el proveedor de CloudFormation. También puedo confirmar que esto funciona como se esperaba .
Puede verificar en la consola si edita la acción CFN en cuestión, que los parámetros estén configurados correctamente:
Por ahora no puedo verificar la acción de compilación, pero por lo que parece, también parece estar bien.