El servidor de desarrollo local (dev_appserver.py
) forma parte de los componentes de App Engine de la CLI de gcloud. En este tema, se proporciona información avanzada sobre el uso de dev_appserver.py
.
Consulta Usa el servidor de desarrollo local para obtener más información sobre las pruebas locales.
Configura la herramienta del servidor de desarrollo local
Un comando dev_appserver.py
de muestra puede verse de la siguiente manera:
python2 DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py OPTION yaml_path FILES
Reemplaza lo siguiente:
- DEVAPPSERVER_ROOT por la ruta de acceso al directorio raíz en el que extraes la versión archivada de
devapp_server.py
. Para obtener más información sobre cómo descargar y usar la versión archivada dedev_appserver.py
, consulta Usa el servidor de desarrollo local. - OPTION por una marca compatible con el servidor de desarrollo local.
- FILES especifica uno o más archivos
app.yaml
, uno por servicio, para el argumento posicionalyaml_path
.
Para obtener una lista completa de las opciones, ejecuta el siguiente comando:
DEVAPPSERVER_ROOT/google_appengine/dev_appserver.py -h
Opciones comunes
Las opciones más comunes son las siguientes:
--admin_host=ADMIN_HOST
- Es el nombre de host al que se debe vincular la Consola del administrador del servidor de desarrollo local (valor predeterminado: localhost).
--admin_port=ADMIN_PORT
- Es el puerto al que se debe vincular la Consola del administrador del servidor de desarrollo local (valor predeterminado: 8000).
--enable_sendmail=yes|no
- Usa la instalación de Sendmail de la computadora local para enviar mensajes de correo electrónico.
--enable_task_running=yes|no
- Permite al servidor de desarrollo ejecutar tareas de envío. El valor predeterminado es
yes
. Si especificasno
, el servidor no ejecutará tareas de envío. --help
- Imprime un mensaje útil y, luego, se cierra.
--host=...
- Es la dirección del host que se usará para el servidor. Es posible que debas configurarlo para poder acceder al servidor de desarrollo desde otra computadora de tu red. Una dirección
0.0.0.0
permite el acceso por localhost o el acceso por IP o nombre de host. El valor predeterminado eslocalhost
. --log_level=...
- Es el nivel de registro más bajo en el que se escribirán los mensajes de registro en la consola. Se emitirán los mensajes del nivel de registro especificado o superior.
Los valores posibles son
debug
,info
,warning
,error
ycritical
. --port=...
- Es el número de puerto que se usará para el servidor. El valor predeterminado es
8080
. Si se inician varios servidores, por ejemplo, para servicios, se les asignarán puertos subsiguientes, como8081
y8082
. --logs_path=...
- De forma predeterminada, los registros para el servidor de desarrollo local se almacenan solo en la memoria. Especifica esta opción cuando ejecutes el servidor de desarrollo local para almacenar los registros en un archivo, lo que hace que los registros sigan disponibles luego de diversos reinicios del servidor.
Debes especificar la ruta y el nombre del directorio para un archivo de base de datos SQLite. Se crea un archivo de base de datos SQLite con el nombre especificado si el archivo aún no existe. Por ejemplo:
--logs_path=/home/logs/boglogs.db
--require_indexes=yes|no
- Inhabilita la generación automática de entradas en el archivo
index.yaml
. En su lugar, cuando la aplicación realiza una consulta que requiere que su índice se defina en el archivo, pero no se encuentra esta definición, se generará una excepción. Esto es similar a lo que sucedería si se ejecutara en App Engine. El valor predeterminado esno
. --smtp_host=...
- Es el nombre de host del servidor SMTP que se usará para enviar mensajes de correo electrónico.
--smtp_port=...
- Es el número de puerto del servidor SMTP que se usará para enviar mensajes de correo electrónico.
--smtp_user=...
- Es el nombre de usuario que se usará con el servidor SMTP para enviar mensajes de correo electrónico.
--smtp_password=...
- Es la contraseña que se usará con el servidor SMTP para enviar mensajes de correo electrónico.
--storage_path=...
- Es la ruta en la que se almacenarán todos los archivos locales, como los archivos y registros de Cloud Storage, Datastore y Blobstore, a menos que se anulen mediante
--datastore_path
,--blobstore_path
o--logs_path
. --support_datastore_emulator=yes|no
- Usa el emulador (Beta) de Cloud Datastore para la emulación del almacén de datos local.
--datastore_emulator_port=...
- Es el número de puerto que se usará para el emulador (Beta) de Cloud Datastore.
--env_var=...
- Es una variable de entorno definida por el usuario para el proceso del entorno de ejecución local. Cada
env_var
tiene el formato de clave=valor y puedes definir múltiples variables de entorno. Además deenv_variables
enapp.yaml
, esta marca permite establecer variables de entorno adicionales para procesos locales. Por ejemplo:--env_var KEY_1=val1 --env_var KEY_2=val2
--go_debugging=yes|no
- Configúralo en sí para habilitar la depuración con delve o gdb. Esto creará el objeto binario de la app con todos los símbolos necesarios para la depuración. Puedes conectarte al proceso en ejecución con normalidad, p. ej.:
sudo dlv attach <pid>
.