Implantar o Cloud Functions com controle de versão

Nesta página, mostramos como implantar o Cloud Functions usando o código que tem controle de versão no Cloud Source Repositories.

Ao integrar o Cloud Functions com o Cloud Source Repositories, é possível usar o Repositories para ter controle de versão do código que contém sua função. À medida que a função muda ao longo do tempo, é possível continuar acessando as confirmações anteriores para ver como e quando ela foi alterada.

Antes de começar

  1. Conclua as etapas em Criar um repositório de código no Cloud Source Repositories.
  2. Ative as API Cloud Functions e Cloud Build.
  3. Ativar a API Cloud Functions e Cloud Build

Adicionar uma função ao repositório

  1. Na máquina local, acesse o diretório raiz do repositório hello-world:

    cd hello-world
    
  2. No seu sistema local, crie um diretório para o código de função.

    Linux ou macOS

    Crie o diretório:

    mkdir gcf_hello_world

    Vá para o diretório:

    cd gcf_hello_world

    Windows (CMD)

    Crie o diretório:

    mkdir %HOMEDRIVE%%HOMEPATH%\gcf_hello_world

    Vá para o diretório:

    cd %HOMEDRIVE%%HOMEPATH%\gcf_hello_world
  3. No diretório gcf_hello_world, crie um arquivo index.js com o seguinte conteúdo:

    /* HTTP Cloud Function.
    *
    * @param {Object} req Cloud Function request context.
    * @param {Object} res Cloud Function response context.
    */
    exports.helloGET = (req, res) => {
      res.send('Hello from Cloud Functions and Cloud Source Repositories');
    };
    

    Esta é uma função simples chamada helloGET que responde a solicitações HTTP GET com o texto Hello from Cloud Functions and Cloud Source Repositories.

Enviar arquivos para o Cloud Source Repositories

Envie os arquivos que você acabou de criar para o Cloud Source Repositories.

  1. Adicione os arquivos:

    git add .
    
  2. Confirme os arquivos com um comentário descrevendo o histórico desta ação:

    git commit -m "Add Cloud Functions test to Cloud Source Repositories"
    
  1. Usando o comando git push, adicione o conteúdo do repositório Git local ao Cloud Source Repositories:

    git push origin master
    

Criar e implantar a função

Usando o console do Google Cloud ou a Google Cloud CLI, crie e implante a função.

Console

  1. Acesse a página Cloud Functions.

    Acessar a página "Cloud Functions"

    Verifique se o projeto do Google Cloud em que você ativou o Cloud Functions está selecionado.

  2. Clique em Criar função.

  3. Na página Criar função, preencha as seguintes opções:

    • No campo Ambiente, selecione 1a geração.
    • No campo Nome da função, digite cloud-source-repositories-test.
    • No campo Região, selecione us-central1.
    • Na lista gatilho, selecione HTTP.
    • Na lista Autenticação, selecione Autenticação necessária.
    • Verifique se a opção Exigir HTTPS está marcada.
  4. Clique em Save.

  5. Clique em Próxima.

    • No campo Ambiente de execução, selecione Node.js 16.
    • No campo Ponto de entrada, digite helloGET.
    • Na lista Código-fonte, selecione Repositório de origem do Cloud.
    • No campo Repositório, digite hello-world.
    • No campo Nome do branch, digite master.
    • No campo Diretório com o código-fonte, digite /gcf_hello_world.
  6. Clique em Implantar.

Enquanto a função está sendo implantada, um pequeno controle giratório aparece ao lado dela. Quando a implantação é concluída, o ícone torna-se uma marca de seleção verde.

CLI da gcloud

  1. Em uma janela de terminal, defina uma variável que contenha seu ID de projeto do Google Cloud. Verifique se esse é o mesmo projeto do Google Cloud que contém seu repositório.

    export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
    
  2. Implante a função:

    gcloud functions deploy helloGET \
    --source https://source.developers.google.com/projects/$PROJECT_ID/repos/hello-world/moveable-aliases/master/paths/gcf_hello_world \
    --trigger-http \
    --runtime=nodejs8;
    

Para mais informações sobre como implantar no Cloud Source Repositories, consulte Como implantar do controle de origem.

teste a função

Usando o Console do GCP ou a CLI gcloud, teste a nova função.

Console

  1. Acesse a página Visão geral do Cloud Functions.

    Acessar a página "Visão geral"

    Verifique se o projeto do Google Cloud em que você ativou o Cloud Functions está selecionado.

  2. Clique no menu Show actions na linha da função cloud-source-repositories-test.

  3. Clique em Testar função.

  4. Clique no botão Testar a função.

    Depois de um ou dois minutos, o campo Saída é atualizado para exibir a mensagem Hello from Cloud Functions and Cloud Source Repositories.

CLI da gcloud

Em uma janela de terminal, digite o seguinte comando:

gcloud functions call helloGET

Uma saída semelhante à seguinte é exibida:

executionId: owqd9fdh5od2
result: Hello from Cloud Functions and Cloud Source Repositories

Limpar

Para excluir a função e o repositório que você criou, siga estas etapas.

Excluir a função

  1. Acesse a página Visão geral do Cloud Functions.

    Acessar a página "Visão geral"

    Verifique se o projeto do Google Cloud em que você ativou o Cloud Functions está selecionado.

  2. Selecione a função helloGET para este guia de início rápido, cloud-source-repositories-test.

  3. Na mesma linha, clique em Mais e em Excluir.

Excluir o repositório

  1. No Console do GCP, abra a página Todos os repositórios do Cloud Source Repositories.

    Abrir o Cloud Source Repositories

  2. Mantenha o ponteiro do mouse sobre o repositório que você quer excluir e clique em Configurações .

    A página Configurações gerais é aberta.

  3. Clique em Excluir este repositório .

    A caixa de diálogo Remover repositório é aberta.

  4. Digite o nome do repositório que você quer excluir.

  5. Clique em Excluir.

A seguir