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:
- O proprietário do projeto tem de configurar o projeto Google Cloud para o App Engine. Google Cloud
- Certifique-se de que a sua conta de utilizador inclui os privilégios necessários.
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 elementoservice
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çodefault
.
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:
O App Engine cria uma imagem de contentor através do serviço Cloud Build.
O Cloud Build cria a imagem de contentor na região da app e é executado no ambiente padrão do App Engine.
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
:
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
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.Quando quiser enviar tráfego para a nova versão, use a Google Cloud consola para migrar o tráfego:
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.