O servidor de desenvolvimento local (dev_appserver.py
) faz parte dos componentes do App Engine da CLI gcloud. Este tópico fornece informações avançadas sobre a utilização do dev_appserver.py
.
Consulte o artigo Usar o servidor de desenvolvimento local
para mais informações sobre os testes locais.
Configure a ferramenta de servidor de desenvolvimento local
Um comando dev_appserver.py
de exemplo pode ter o seguinte aspeto:
python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py OPTION yaml_path FILES
Substitua o seguinte:
- DEVAPPSERVER_ROOT com o caminho para o diretório raiz
onde extrai a versão arquivada de
devapp_server.py
. Para mais informações sobre como transferir e usar a versão arquivada dodev_appserver.py
, consulte o artigo Usar o servidor de desenvolvimento local. - OPTION com uma flag suportada pelo servidor de desenvolvimento local.
- FILES especifica um ou mais ficheiros
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 as seguintes:
--admin_host=ADMIN_HOST
- Nome do anfitrião ao qual a consola de administração do servidor de desenvolvimento local deve ser associada (predefinição: localhost).
--admin_port=ADMIN_PORT
- Porta à qual a consola de administração do servidor de desenvolvimento local deve ser associada (predefinição: 8000).
--enable_sendmail=yes|no
- Usa a instalação do Sendmail do computador local para enviar mensagens de email.
--enable_task_running=yes|no
- Permite que o servidor de desenvolvimento execute tarefas push. A predefinição é
yes
. Se especificarno
, o servidor não executa tarefas de envio push. --help
- Imprime uma mensagem útil e, em seguida, termina.
--host=...
- O endereço do anfitrião a usar para o servidor. Pode ter de definir esta opção para poder
aceder ao servidor de desenvolvimento a partir de outro computador na sua rede. Um endereço de
0.0.0.0
permite o acesso ao anfitrião local e o acesso ao IP ou ao nome de anfitrião. A predefinição élocalhost
. --log_level=...
- O nível de registo mais baixo no qual as mensagens de registo são escritas na consola; as mensagens do nível de registo especificado ou superior são apresentadas.
Os valores possíveis são
debug
,info
,warning
,error
ecritical
. --port=...
- O número da porta a usar para o servidor. A predefinição é
8080
. Se forem iniciados vários servidores, como para serviços, são-lhes atribuídas portas subsequentes, como8081
e8082
. --logs_path=...
- Por predefinição, os registos do servidor de desenvolvimento local são armazenados apenas na memória. Especifique esta opção quando executar o servidor de desenvolvimento local para armazenar os registos num ficheiro, o que torna os registos disponíveis em todos os reinícios do servidor.
Tem de especificar o caminho do diretório e o nome de um ficheiro de base de dados SQLite. É criado um ficheiro de base de dados SQLite com o nome especificado se o ficheiro ainda não existir. Por exemplo:
--logs_path=/home/logs/boglogs.db
--require_indexes=yes|no
- Desativa a geração automática de entradas no ficheiro
index.yaml
. Em alternativa, quando a aplicação faz uma consulta que requer que o respetivo índice seja definido no ficheiro e a definição do índice não for encontrada, é gerada uma exceção, semelhante ao que aconteceria quando executada no App Engine. O valor predefinido éno
. --smtp_host=...
- O nome do anfitrião do servidor SMTP a usar para enviar mensagens de email.
--smtp_port=...
- O número da porta do servidor SMTP a usar para enviar mensagens de email.
--smtp_user=...
- O nome de utilizador a usar com o servidor SMTP para enviar mensagens de email.
--smtp_password=...
- A palavra-passe a usar com o servidor SMTP para enviar mensagens de email.
--storage_path=...
- Caminho no qual todos os ficheiros locais, como o Datastore, o Blobstore, os ficheiros do Cloud Storage e os registos, são armazenados, a menos que sejam substituídos por
--datastore_path
,--blobstore_path
ou--logs_path
. --support_datastore_emulator=yes|no
- Use o emulador do Cloud Datastore (beta) para a emulação local do armazenamento de dados.
--datastore_emulator_port=...
- O número da porta a usar para o emulador do Cloud Datastore (beta).
--env_var=...
- Variável de ambiente definida pelo utilizador para o processo de tempo de execução local. Cada
env_var
está no formato de chave=valor e pode definir várias variáveis de ambiente. Além deenv_variables
noapp.yaml
, esta flag permite definir variáveis de ambiente adicionais 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 o delve ou o gdb. Isto cria o ficheiro binário da app com todos os símbolos necessários para a depuração. Pode anexar ao processo em execução normalmente, por exemplo:
sudo dlv attach <pid>
.