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 deploymentpara 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 deploymentpara 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.yamlde la aplicación- example-python-app.pypodrí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.jsona partir del archivo- app.yamlejecutando la herramienta- convert_yaml.py:- python ./convert_yaml.py [DIRECTORY_PATH]/app.yaml > [DIRECTORY_PATH]/app.json- Donde - [DIRECTORY_PATH]es la ruta del directorio de tu archivo- app.yaml.- Se crea una versión JSON ( - app.json) del archivo- app.yamlen el directorio- [DIRECTORY_PATH].
- Asegúrate de que el ID de tu versión esté definido en el - app.jsonarchivo de configuración.- Si el archivo - app.yamlexcluye el elemento- version: [VERSION_NAME], el elemento- "id": [VERSION_NAME]no se incluirá en el archivo- app.jsondespués de la conversión. Por ejemplo, si quieres definir el ID de versión como- v1, debes añadir manualmente la siguiente línea al archivo- app.json:- "id": "v1",
- Usa la plantilla de la sección Definir el - deploymentsection 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 deploymentsecció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,
}