Para desplegar una versión de tu aplicación con la API Admin, debes definir los detalles de configuración de la versión en un archivo con formato JSON. Puedes crear el archivo de configuración manualmente o convertir un archivo app.yaml
.
Para crear un archivo de configuración con formato JSON, debes seguir dos pasos:
- Define la información de configuración de la versión que quieras implementar.
- Define una sección
deployment
para especificar todos los archivos y recursos de tu aplicación que quieras implementar.
Antes de empezar
Antes de crear el archivo de configuración app.json
, debes subir todos los archivos y recursos de tu aplicación a un segmento de Cloud Storage.
Crear manualmente el archivo de configuración JSON
Sigue estos pasos si necesitas crear manualmente el archivo de configuración, por ejemplo, cuando tu aplicación excluye un app.yaml
o tu aplicación Java usa un archivo appengine-web.xml
.
Para crear manualmente el archivo de configuración app.json
para desplegar tu aplicación con la API Admin, sigue estos pasos:
- Crea un nombre de archivo
app.json
. - Usa la información de configuración que se proporciona en la colección apps.services.versions para definir y configurar la versión que quieras implementar.
- Usa la plantilla de la sección Definir el archivo
deployment
para especificar todos los archivos y recursos que quieras implementar desde tu bucket de Cloud Storage.
Consulta también la sección Ejemplo de abajo para obtener ayuda con la creación del archivo de configuración app.json
.
Convertir un archivo app.yaml
al formato JSON
Puedes usar la herramienta convert_yaml.py
para convertir y generar una versión app.json
a partir de un archivo app.yaml
que ya tengas.
Si existe un archivo app.yaml
, que normalmente usas para desplegar manualmente versiones de tu aplicación, puedes conservar esa información convirtiendo esos ajustes de configuración al formato JSON.
Requisitos previos
Descarga e instala la herramienta convert_yaml.py
, incluidos los requisitos especificados.
Convertir archivos YAML con la herramienta convert_yaml.py
Para convertir tu archivo app.yaml
con la herramienta convert_yaml.py
, sigue estos pasos:
Busca y anota la ruta del directorio de tu
app.yaml
.Ejemplo:
cd root/apps-container/my-application/
Donde el
app.yaml
de la aplicaciónexample-python-app.py
podría ser el siguiente:service: default version: v1 runtime: python27 threadsafe: true handlers: - url: /.* script: example-python-app.py
Ve al directorio local en el que has descargado la herramienta
convert_yaml.py
. Por ejemplo:cd root/tools/appengine-config-transformer
Crea el archivo
app.json
a partir del archivoapp.yaml
ejecutando la herramientaconvert_yaml.py
:python ./convert_yaml.py [DIRECTORY_PATH]/app.yaml > [DIRECTORY_PATH]/app.json
Donde
[DIRECTORY_PATH]
es la ruta del directorio de tu archivoapp.yaml
.Se crea una versión JSON (
app.json
) del archivoapp.yaml
en el directorio[DIRECTORY_PATH]
.Asegúrate de que el ID de tu versión esté definido en el
app.json
archivo de configuración.Si el archivo
app.yaml
excluye el elementoversion: [VERSION_NAME]
, el elemento"id": [VERSION_NAME]
no se incluirá en el archivoapp.json
después de la conversión. Por ejemplo, si quieres definir el ID de versión comov1
, debes añadir manualmente la siguiente línea al archivoapp.json
:"id": "v1",
Usa la plantilla de la sección Definir el
deployment
section para especificar todos los archivos y recursos de tu aplicación que quieras implementar.
Consulta también la sección Ejemplo de abajo para obtener ayuda con la creación del archivo de configuración app.json
.
Definir la sección deployment
Para crear una sección deployment
en el archivo de configuración app.json
y definir manualmente todos los recursos que se encuentran en tu segmento de Cloud Storage, usa la información de referencia de la deployment
sección de la colección apps.services.versions
. Si vas a definir archivos individuales, puedes usar la siguiente plantilla:
"deployment": {
"files": {
"my-resource-file1": {
"sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/my-application/my-resource-file1"
},
}
},
Donde my-resource-file1
define el nombre del archivo y la ruta del directorio relativo en el que quieres implementar ese archivo en App Engine.
Archivo app.json
de ejemplo
Usa el siguiente ejemplo de app.json
para crear tu archivo de configuración.
En el siguiente ejemplo de app.json
, se define el ID de versión v1
junto con una sección deployment
que incluye dos archivos de origen de ejemplo del segmento de Cloud Storage [MY_BUCKET_ID]
.
{
"deployment": {
"files": {
"example-resource-file1": {
"sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/example-application/example-resource-file1"
},
"images/example-resource-file2": {
"sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/example-application/images/example-resource-file2"
},
}
},
"id": "v1",
"handlers": [
{
"urlRegex": "/.*",
"script": {
"scriptPath": "example-python-app.py"
}
},
],
"runtime": "python27",
"threadsafe": true,
}