Faça a gestão das revisões

Quando implementa num serviço ou altera a configuração de um serviço, é criada uma revisão imutável.

As seguintes considerações aplicam-se às revisões:

  • Pode especificar se uma nova revisão recebe todo, nenhum ou parte do tráfego, pode implementar gradualmente uma nova revisão, pode dividir o tráfego entre várias revisões e pode reverter uma revisão. Para mais informações, consulte o artigo Reversões, implementações graduais e migração de tráfego.
  • Opcionalmente, pode usar etiquetas de revisão para testar uma revisão que não esteja a publicar tráfego.
  • Não tem de eliminar manualmente as revisões, embora possa fazê-lo se quiser.
  • As revisões que não estão a receber pedidos não consomem recursos e não são faturadas. No entanto, se a revisão tiver instâncias mínimas configuradas, existem considerações de faturação a ter em atenção.
  • Existe um máximo de 1000 revisões por serviço. Se exceder esse limite, as revisões mais antigas são eliminadas automaticamente.
  • O sufixo de revisão é atribuído automaticamente. Se quiser usar o seu próprio sufixo de versão, pode fazê-lo através do parâmetro da CLI gcloud --revision-suffix.

Funções necessárias

Para receber as autorizações de que precisa para gerir serviços e revisões do Cloud Run, peça ao seu administrador para lhe conceder a função de IAM de programador do Cloud Run (roles/run.developer) no seu serviço do Cloud Run.

Para ver uma lista de funções e autorizações de IAM associadas ao Cloud Run, consulte os artigos Funções de IAM do Cloud Run e Autorizações de IAM do Cloud Run. Se o seu serviço do Cloud Run interage com Google Cloud APIs, como as bibliotecas cliente da Google Cloud, consulte o guia de configuração da identidade do serviço. Para mais informações sobre a atribuição de funções, consulte as autorizações de implementação e faça a gestão do acesso.

Veja a lista de revisões de um serviço

Consola

Para ver a lista de revisões no seu projeto:

  1. Aceda ao Cloud Run

  2. Localize o serviço na lista de serviços e clique no mesmo.

  3. Clique no separador Revisões para mostrar a lista de revisões atuais desse serviço.

    lista de revisões

gcloud

Para ver a lista de revisões de um determinado serviço:

  1. Encontre o nome do seu serviço na lista de serviços disponíveis no seu projeto:

    gcloud run services list
  2. Use o seguinte comando para obter todas as revisões do serviço que acabou de pesquisar:

    gcloud run revisions list --service SERVICE --region REGION

    Substituir

    • SERVICE com o nome do seu serviço.
    • REGION com a Google Cloud região do serviço.

Cloud Code

Para ver a lista de revisões com o Cloud Code, leia os guias do explorador do Cloud Run para IntelliJ e Visual Studio Code.

Bibliotecas cliente

Para ver a lista de revisões do código:

API REST

Para ver a lista de revisões, envie um GETpedido HTTP para o ponto final da API Cloud Run Admin revisions.

Por exemplo, usar curl:

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X GET \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions

Substituir:

  • ACCESS_TOKEN com um token de acesso válido para uma conta que tenha as autorizações de IAM para ver revisões. Por exemplo, se tiver sessão iniciada no gcloud, pode obter um token de acesso através de gcloud auth print-access-token. A partir de uma instância de contentor do Cloud Run, pode obter um token de acesso através do servidor de metadados da instância de contentor.
  • SERVICE-NAME com o nome do serviço.
  • REGION com a Google Cloud região do serviço.
  • PROJECT-ID com o Google Cloud ID do projeto.

Veja os detalhes da revisão

Consola

Para ver os detalhes de uma revisão no seu projeto:

  1. Aceda ao Cloud Run

  2. Selecione o seu serviço na lista de serviços.

  3. Clique no separador Revisões para mostrar a lista de revisões atuais desse serviço.

  4. Selecione a revisão do serviço na qual tem interesse:

  5. Examine o painel DETALHES no lado direito para ver informações específicas da revisão, como o URL da imagem do contentor implementado, a quantidade de memória alocada, as variáveis de ambiente e, possivelmente, informações de compilação e do repositório de origem.

    imagem

gcloud

Para ver os detalhes de uma revisão no seu projeto:

  1. Encontre o nome do seu serviço na lista de serviços disponíveis no seu projeto:

    gcloud run services list

  2. Use o seguinte comando para obter todas as revisões do serviço que acabou de pesquisar:

    gcloud run revisions list --service SERVICE --region REGION

    Substituir

    • SERVICE com o nome do seu serviço.
    • REGION com a Google Cloud região do serviço.
  3. Use o seguinte comando para ver mais detalhes sobre uma revisão específica:

    gcloud run revisions describe REVISION --region REGION
    Substituir

    • REVISION com o nome da revisão sobre a qual quer saber mais.
    • REGION com a Google Cloud região do serviço.

    Pode usar a flag --format para formatar a saída. Por exemplo, como YAML:

    gcloud run revisions describe REVISION --region REGION --format yaml

Cloud Code

Para ver os detalhes de uma revisão com o Cloud Code, leia os guias do Explorador do Cloud Run para IntelliJ e Visual Studio Code.

Bibliotecas cliente

Para ver os detalhes de uma revisão a partir do código:

API REST

Para ver detalhes sobre uma revisão, envie um pedido HTTP GET para o ponto final revisions da API Cloud Run Admin.

Por exemplo, usar curl:

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X GET \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions/REVISION-NAME

Substituir:

  • ACCESS_TOKEN com uma chave de acesso válida para uma conta que tenha as autorizações do IAM para ver os detalhes do serviço. Por exemplo, se tiver sessão iniciada no gcloud, pode obter um token de acesso através de gcloud auth print-access-token. A partir de uma instância de contentor do Cloud Run, pode obter um token de acesso através do servidor de metadados da instância de contentor.
  • SERVICE-NAME com o nome do serviço.
  • REVISION-NAME com o nome da revisão.
  • REGION com a Google Cloud região do serviço.
  • PROJECT-ID com o Google Cloud ID do projeto.

Tenha em atenção que uma revisão não atual pode ter o estado RETIRED, o que significa que o Cloud Run desativou a infraestrutura necessária para essa revisão específica.

Acerca das informações de compilação e do repositório de origem no painel Detalhes

Se a API Artifact Analysis estiver ativada e o contentor tiver sido criado com o Cloud Build, as informações de compilação são apresentadas no painel Detalhes.

Além disso, se tiver sido usado um acionador do Cloud Build para criar o contentor, as informações do repositório de origem também são apresentadas no painel Detalhes.

Elimine revisões

Um exemplo de utilização comum para eliminar uma revisão é quando quer garantir que uma revisão específica não é usada acidentalmente.

Não pode eliminar uma revisão se:

  • consegue receber tráfego,
  • É a única revisão do serviço,
  • É a revisão mais recente do serviço.

Quando elimina uma revisão, a imagem do contentor usada por esta revisão não é eliminada automaticamente do Container Registry nem do Artifact Registry. Para eliminar uma imagem de contentor de um registo, consulte as instruções de eliminação do Container Registry ou do Artifact Registry.

Não pode anular a eliminação de uma revisão.

Pode usar a consola ou a linha de comandos:

Consola

Para eliminar uma revisão

  1. Aceda ao Cloud Run

  2. Localize o serviço na lista de serviços e clique no mesmo.

  3. Clique no separador Revisões para mostrar a lista de revisões atuais desse serviço.

  4. Localize a revisão do serviço que quer eliminar.

  5. Clique na elipse vertical de três pontos à esquerda da revisão para mostrar o menu Eliminar.

    revision-delete

  6. Clique em Eliminar para eliminar a revisão.

gcloud

Para eliminar uma revisão, use o seguinte comando:

gcloud run revisions delete REVISION --region REGION

Substituir

  • REVISION com o nome da revisão que quer eliminar.
  • REGION com a Google Cloud região do serviço.

Bibliotecas cliente

Para eliminar uma revisão do código:

API REST

Para eliminar uma revisão, envie um pedido HTTP DELETE para o ponto final da API Cloud Run Admin revisions.

Por exemplo, usar curl:

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X DELETE \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME/revisions/REVISION-NAME

Substituir:

  • ACCESS_TOKEN com uma chave de acesso válida para uma conta que tenha as autorizações do IAM para eliminar um serviço. Por exemplo, se tiver sessão iniciada no gcloud, pode obter um token de acesso através de gcloud auth print-access-token. A partir de uma instância de contentor do Cloud Run, pode obter um token de acesso através do servidor de metadados da instância de contentor.
  • SERVICE-NAME com o nome do serviço.
  • REVISION-NAME com o nome da revisão.
  • REGION com a Google Cloud região do serviço.
  • PROJECT-ID com o Google Cloud ID do projeto.

O que se segue?

Depois de implementar uma revisão, pode fazer o seguinte: