Como implantar Cloud Functions

Implantação

Para realizar as implantações, faça upload de um arquivo contendo o código-fonte da função em um bucket do Google Cloud Storage. Depois de fazer upload do código-fonte, o Cloud Build criará automaticamente o código em uma imagem de contêiner e enviará essa imagem ao Container Registry. O Cloud Functions usa essa imagem para criar o contêiner que executa a função.

Mais especificamente:

  1. Iniciar uma implantação compacta seu código-fonte, incluindo todos os arquivos, exceto aqueles que correspondem a um padrão .gcloudignore.
  2. Depois que o código-fonte é compactado e enviado, uma versão é enviada ao Cloud Build. A versão usa o comando pack build com gcr.io/buildpacks/builder:v1 para criar seu contêiner. Essa ação faz o seguinte:

    • Usa a imagem base do Ubuntu.
    • Instala o ambiente de execução da linguagem.
    • Instala o framework do Functions, se ainda não houver.
    • Instala as dependências do usuário.
    • Exporta a imagem OCI.

O armazenamento em cache ajuda a tornar essas etapas mais rápidas. Assista a este vídeo para uma visão geral do processo.

Opções de implantação

É possível implantar o Cloud Functions a partir da máquina local, do repositório de origem do GitHub ou do Bitbucket (usando o Cloud Source Repositories) ou diretamente da API Cloud Functions.

Durante a implantação, o Cloud Functions procura arquivos específicos, dependendo do ambiente de execução. Consulte Como gravar Cloud Functions para detalhes. Antes da conclusão da implantação da função, o Cloud Functions enviará uma solicitação de teste para confirmar que ela foi implantada com sucesso.

Como migrar entre implantações

A primeira implantação de uma função pode levar vários minutos para ser concluída enquanto a infraestrutura subjacente é provisionada. Reimplantar uma função existente é mais rápido, e o tráfego de entrada será automaticamente migrado para a versão mais recente da sua função.

Conceitos básicos

Conforme você aprende sobre as diferentes maneiras de implantar funções, é útil entender algumas terminologias básicas. Quando você implanta uma função, ela é exibida no Console do Cloud, conforme mostrado abaixo. Em particular, observe os campos Nome e Função executada:

  • O campo Nome é o nome registrado que você atribui à função.
  • O campo Função executada é o nome da função real no código-fonte executada quando a função implantada é chamada.

Esses dois campos podem ter o mesmo nome ou os nomes podem ser diferentes. Observe abaixo que as duas primeiras funções têm nomes registrados diferentes dos executados. A última função usa o mesmo nome para os dois campos: helloHttp.

Captura de tela que mostra o processo de implantação da função

Como criar e testar localmente

O Cloud Functions é executado em ambientes de execução com base em linguagens e frameworks de código aberto para que você possa criar e testar suas funções localmente usando ferramentas de ambiente de execução e desenvolvimento padrão.

Também é possível usar o Functions Framework para executar e depurar suas funções localmente para tempos de execução compatíveis e facilitar o teste e a depuração.

A seguir