O servidor de desenvolvimento local (dev_appserver.py
) faz parte dos componentes
do App Engine da CLI gcloud. Neste tópico, fornecemos informações avançadas
sobre o uso de dev_appserver.py
.
Saiba mais sobre testes locais em Como usar o servidor de desenvolvimento
local.
Configurar a ferramenta de servidor de desenvolvimento local
Um exemplo de comando dev_appserver.py
pode ter a seguinte aparência:
python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py OPTION yaml_path FILES
Substitua:
- DEVAPPSERVER_ROOT pelo caminho para o diretório raiz
em que você extrai a versão arquivada de
devapp_server.py
. Para mais informações sobre como fazer o download e usar a versão arquivada dedev_appserver.py
, consulte Como usar o servidor de desenvolvimento local. - OPTION por uma sinalização compatível com o servidor de desenvolvimento local.
- FILES especifica um ou mais arquivos
app.yaml
, um por serviço, para o argumento posicionalyaml_path
.
Para ver uma lista completa de opções, execute o seguinte:
DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py -h
Opções comuns
As opções mais comuns são:
--admin_host=ADMIN_HOST
- Nome do host a que o console de administração do servidor de desenvolvimento local precisa se vincular (padrão: localhost).
--admin_port=ADMIN_PORT
- Porta a que o console de administração do servidor de desenvolvimento local precisa se vincular (padrão: 8000).
--enable_sendmail=yes|no
- Usa a instalação Sendmail do computador local para enviar mensagens de e-mail.
--enable_task_running=yes|no
- Permite que o servidor de desenvolvimento execute tarefas push. O padrão é
yes
. Se você especificarno
, o servidor não executará tarefas push. --help
- Imprime uma mensagem útil e é encerrado.
--host=...
- O endereço de host a ser usado com o servidor. É preciso configurá-lo para acessar o servidor de desenvolvimento a partir de outro computador da rede. Um
endereço de
0.0.0.0
permite acesso ao localhost e ao IP ou nome do host. O padrão élocalhost
. --log_level=...
- O nível de registro mais baixo em que as mensagens de registro serão escritas no
console. As mensagens do nível de registro especificado ou superior serão exibidas.
Os valores possíveis são
debug
,info
,warning
,error
ecritical
. --port=...
- O número da porta a ser usada com o servidor. O padrão é
8080
. Se vários servidores forem iniciados, por exemplo, para serviços, serão atribuídas portas subsequentes, como8081
e8082
. --logs_path=...
- Por padrão, os registros do servidor de desenvolvimento local são armazenados somente na
memória. Especifique esta opção ao executar o servidor de desenvolvimento local para armazenar os registros em um arquivo, o que disponibiliza os registros nas reinicializações do servidor.
É preciso especificar o caminho do diretório e o nome de um arquivo de banco de dados SQLite. Se ainda não existir, um arquivo SQLite será criado com o nome especificado. Exemplo:
--logs_path=/home/logs/boglogs.db
--require_indexes=yes|no
- Desativa a geração automática de entradas no arquivo
index.yaml
. Em vez disso, quando o aplicativo realizar uma consulta que exija a definição do índice no arquivo e esta não for encontrada, uma exceção será emitida como aconteceria durante a execução no App Engine. O valor padrão éno
. --smtp_host=...
- O nome do host do servidor SMTP a ser usado para enviar mensagens de e-mail.
--smtp_port=...
- O número da porta do servidor SMTP a ser usada para enviar mensagens de e-mail.
--smtp_user=...
- O nome de usuário a ser usado com o servidor SMTP para enviar mensagens de e-mail.
--smtp_password=...
- A senha a ser usada com o servidor SMTP para enviar mensagens de e-mail.
--storage_path=...
- O caminho em que todos os arquivos locais, como o Datastore,
o Blobstore, os arquivos e registros do Cloud Storage, serão armazenados, a menos que
sejam substituídos por
--datastore_path
,--blobstore_path
ou--logs_path
. --support_datastore_emulator=yes|no
- Usa o emulador do Cloud Datastore (Beta) para a emulação de armazenamento de dados local.
--datastore_emulator_port=...
- O número da porta a ser usada para o emulador do Cloud Datastore (Beta).
--env_var=...
- Variável de ambiente definida pelo usuário para o processo do ambiente de execução local. Cada
env_var
está no formato key=value, e é possível definir diversas variáveis de ambiente. Além deenv_variables
noapp.yaml
, essa sinalização permite definir variáveis de ambiente extras para processos locais. Por exemplo:--env_var KEY_1=val1 --env_var KEY_2=val2
--go_debugging=yes|no
- Defina como sim para ativar a depuração com delve ou gdb. Isso criará o binário do aplicativo com todos os símbolos necessários para a depuração. É possível anexar ao
processo em execução normalmente, por exemplo:
sudo dlv attach <pid>
.