Todos os produtos
Search
Central de documentação

:Use fc-canary to perform canary release

Última atualização: Jul 04, 2026

Ao atualizar uma função no Function Compute, o novo código e as novas configurações substituem imediatamente a versão LATEST, e todas as invocações subsequentes passam a usar essa versão atualizada. Liberar alterações diretamente para todo o tráfego representa um risco em ambientes de produção.

O plugin @serverless-cd/fc-canary, fornecido pela comunidade, permite executar uma liberação canário. Com ele, você direciona apenas uma porcentagem específica do tráfego para a nova versão antes de promovê-la totalmente.

Como funciona

O Function Compute utiliza aliases para separar implantações de liberações. Em produção, você aponta um alias para uma versão publicada específica. Ao implantar um novo código, a versão LATEST é atualizada, mas o alias continua apontando para a versão estável anterior. O tráfego segue fluindo para a versão antiga até que você atualize explicitamente o alias.

O plugin fc-canary automatiza esse processo:

  1. Publica uma nova versão com base no código e nas configurações atuais da versão LATEST.

  2. Atualiza o alias para dividir o tráfego entre a versão estável anterior e a recém-publicada. Caso o alias ainda não exista, o plugin o cria automaticamente.

Ao direcionar apenas uma porcentagem definida das invocações para a nova versão, é possível monitorar erros ou regressões de desempenho antes de concluir a liberação.

Pré-requisitos

  • Instale o Serverless Devs e configure suas credenciais do Alibaba Cloud.

  • Implante uma função no Function Compute.

  • Instale o plugin @serverless-cd/fc-canary na configuração do seu pipeline.

Parâmetros

A tabela a seguir descreve os parâmetros compatíveis com o plugin fc-canary.

Parâmetro

Tipo

Obrigatório

Descrição

serviceName

String

Sim (FC 2.0)

Nome do serviço do Function Compute 2.0 que contém a função de destino.

functionName

String

Sim (FC 3.0)

Nome da função. Usado no Function Compute 3.0, que remove o agrupamento no nível de serviço.

aliasName

String

Sim

Nome do alias a ser criado ou atualizado. Por exemplo, prod.

regionId

String

Sim

ID da região onde a função está implantada. Por exemplo, cn-hangzhou.

canaryPercent

Number

Sim

Porcentagem de tráfego a ser roteada para a nova versão. Valores válidos: 0 a 100.

Uso

Function Compute 2.0

No Function Compute 2.0, os aliases são configurados no nível de serviço. O exemplo abaixo atualiza o alias de um serviço e roteia 50% do tráfego para a nova versão:

- plugin: @serverless-cd/fc-canary
  inputs:
    serviceName: web-framework-kzbp
    aliasName: prod
    regionId: cn-hangzhou
    canaryPercent: 50

Function Compute 3.0

No Function Compute 3.0, o agrupamento no nível de serviço foi removido. Use o parâmetro functionName em vez de serviceName:

- plugin: @serverless-cd/fc-canary
  inputs:
    functionName: my-function
    aliasName: prod
    regionId: cn-hangzhou
    canaryPercent: 10

Concluir a liberação

Após verificar que a nova versão funciona conforme o esperado, atualize canaryPercent para 100 ou aponte o alias inteiramente para a nova versão para concluir a liberação.