Teste e implemente a sua aplicação

ID da região

O REGION_ID é um código abreviado que a Google atribui com base na região que seleciona quando cria a sua app. O código não corresponde a um país ou uma província, embora alguns IDs de regiões possam parecer semelhantes aos códigos de países e províncias usados frequentemente. Para apps criadas após fevereiro de 2020, REGION_ID.r está incluído nos URLs do App Engine. Para apps existentes criadas antes desta data, o ID da região é opcional no URL.

Saiba mais acerca dos IDs de regiões.

Saiba como executar a sua aplicação localmente, implementá-la e testá-la no App Engine.

Executar localmente

Para testar a sua aplicação antes da implementação, execute-a no ambiente local com as ferramentas de desenvolvimento que usa habitualmente.

Antes de implementar a sua aplicação

Antes de implementar a sua aplicação:

Implemente a sua aplicação

Implemente a sua aplicação no App Engine através do comando gcloud app deploy. Durante a implementação, o serviço Cloud Build cria uma imagem de contentor da sua aplicação para ser executada no ambiente padrão. Cada compilação é executada na mesma região que o seu Google Cloud projeto. Para mais informações, consulte o artigo Faça a gestão de imagens de compilação.

Para implementar as suas apps programaticamente, use a API Admin.

Implemente um serviço

Implementa a sua aplicação no App Engine implementando versões dos serviços da sua aplicação e cada um dos respetivos ficheiros de configuração.

Para implementar uma versão do serviço da sua aplicação, execute o seguinte comando a partir do diretório onde se encontra o ficheiro app.yaml do seu serviço:

gcloud app deploy

Se não especificar ficheiros com o comando, apenas implementa o ficheiro app.yaml no diretório atual. Por predefinição, o comando deploy gera um ID exclusivo para a versão que implementa, implementa a versão no projetoGoogle Cloud para o qual configurou a CLI Google Cloud para usar e encaminha todo o tráfego para a nova versão.

Pode alterar o comportamento predefinido do comando segmentando ficheiros específicos ou incluindo parâmetros adicionais:

  • Para implementar os outros ficheiros de configuração do seu serviço, tem de segmentar e implementar cada ficheiro em separado. Por exemplo:
    gcloud app deploy cron.yaml
    gcloud app deploy dispatch.yaml
    gcloud app deploy index.yaml
  • Para especificar um ID da versão personalizado, use a flag --version.
  • Para impedir que o tráfego seja encaminhado automaticamente para a nova versão, use a flag --no-promote.
  • Para implementar num Google Cloud projeto--project específico, use a flag --project.

Por exemplo, para implementar o serviço definido pelo ficheiro app.yaml num projeto Google Cloud específico, atribua-lhe um ID de versão personalizado e impeça o encaminhamento do tráfego para a nova versão:

gcloud app deploy --project PROJECT_ID --version VERSION_ID --no-promote

Para mais informações sobre este comando, consulte a gcloud app deploy referência.

Quando implementa uma nova versão com o mesmo nome de uma versão existente, o App Engine migra imediatamente o tráfego para a nova versão. Existe um pico de latência quando o App Engine carrega pedidos para a nova versão. A nova versão substitui a anterior e não pode migrar o tráfego para a versão anterior. Todas as instâncias da versão anterior são imediatamente encerradas. Para mais informações, consulte o artigo Migrar tráfego.

Implemente vários serviços

Usa o mesmo comando de implementação para implementar ou atualizar os vários serviços que compõem a sua aplicação.

Antes de começar:

  • Inicialmente, tem de implementar uma versão da sua aplicação no serviço default antes de poder criar e implementar serviços subsequentes.
  • O ID de cada um dos seus serviços tem de ser especificado nos respetivos ficheiros de configuração app.yaml. Para especificar o ID do serviço, inclua a definição do elemento service em cada ficheiro de configuração. Por predefinição, a exclusão desta definição de elemento do ficheiro de configuração implementa a versão no serviço default.

Para implementar vários serviços, implemente separadamente o ficheiro app.yaml de cada serviço. Pode especificar vários ficheiros com um único comando gcloud app deploy:

gcloud app deploy service1/app.yaml service2/app.yaml

Veja os registos de compilação

O Cloud Build transmite registos de compilação e implementação que são visíveis na secção Histórico de compilação do Cloud Build na Google Cloud consola. Para ver compilações na região da app, use o menu Região para filtrar por região.

Faça a gestão das imagens de compilação

Sempre que implementa uma nova versão:

  1. O App Engine cria uma imagem de contentor através do serviço Cloud Build.

  2. O Cloud Build cria a imagem de contentor na região da app e é executado no ambiente padrão do App Engine.

  3. O App Engine armazena imagens de contentores criadas no Artifact Registry. Pode transferir estas imagens para as manter ou apresentar noutro local.

Após a conclusão da implementação, o App Engine já não precisa das imagens de contentores. As imagens de contentores não são eliminadas automaticamente. Para evitar atingir a quota de armazenamento, pode eliminar em segurança as imagens de que não precisa. No entanto, se precisar das imagens no futuro ou quiser manter uma cópia das imagens, tem de exportar uma cópia antes da eliminação. Para mais informações sobre a gestão de imagens no Artifact Registry, consulte o artigo Faça a gestão de imagens.

Ignore ficheiros

Pode usar um ficheiro .gcloudignore para especificar ficheiros e diretórios que não vão ser carregados para o App Engine quando implementar os seus serviços. Isto é útil para ignorar artefactos de compilação e outros ficheiros que não precisam de ser carregados com a sua implementação.

Veja a sua candidatura

Depois de implementar a aplicação no App Engine, pode executar o seguinte comando para iniciar o navegador e vê-la em https://PROJECT_ID.REGION_ID.r.appspot.com:

gcloud app browse

Teste no App Engine antes de mudar o tráfego

Antes de configurar uma nova versão para receber tráfego, pode testá-la no App Engine. Por exemplo, para testar uma nova versão do seu serviço default:

  1. Implemente a nova versão, mas impeça o encaminhamento automático do tráfego para a nova versão:

    gcloud app deploy --no-promote

  2. Aceda à nova versão navegando para o seguinte URL:

    https://VERSION_ID-dot-default-dot-PROJECT_ID.REGION_ID.r.appspot.com

    Agora, pode testar a nova versão no ambiente de tempo de execução do App Engine. Pode depurar a sua aplicação vendo os respetivos registos. Para mais informações, consulte o artigo Escrever registos de aplicações.

    O App Engine encaminha os pedidos enviados para https://PROJECT_ID.REGION_ID.r.appspot.com para a versão configurada anteriormente para receber tráfego.

  3. Quando quiser enviar tráfego para a nova versão, use a Google Cloud consola para migrar o tráfego:

    Faça a gestão das versões

    Selecione a versão que acabou de implementar e clique em Migrar tráfego.

Pode usar o mesmo processo para testar novas versões de outros serviços substituindo default no URL pelo nome do seu serviço:

https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

Para mais informações sobre a segmentação de serviços e versões específicos, consulte o artigo Como os pedidos são encaminhados.

Use variáveis de ambiente de compilação

Pode definir variáveis de ambiente de compilação para tempos de execução que suportam buildpacks.

As variáveis de ambiente de compilação são pares de chave-valor que pode especificar para configurar o buildpack que usa para implementar a sua app. Por exemplo, pode querer especificar opções do compilador.

Antes de começar:

  • As chaves têm de começar com uma letra ASCII em maiúsculas e podem incluir letras ASCII em maiúsculas, dígitos e sublinhados.
  • Deve evitar criar variáveis com um prefixo de chave GOOGLE_*.
  • As seguintes chaves estão reservadas para utilização pela Google:
    • GOOGLE_RUNTIME
    • GOOGLE_RUNTIME_VERSION
    • GOOGLE_ENTRYPOINT
    • GOOGLE_DEVMODE
  • Pode usar qualquer chave suportada por buildpacks.

Para usar variáveis de ambiente com buildpacks, especifique o campo build_env_variables no ficheiro app.yaml.

Saiba mais acerca dos buildpacks.

Use o Cloud Trace

O Cloud Trace é útil para compreender como os pedidos se propagam através da sua aplicação. Pode inspecionar informações detalhadas de latência para um único pedido ou ver a latência agregada para toda a sua aplicação.

Para ver detalhes do rastreio no Cloud Trace, pode seguir os passos em Encontre e explore rastreios. No Explorador de rastreios, pode usar os filtros para filtrar por um serviço e uma versão específicos do App Engine.