Per eseguire il deployment di una versione dell'app con l'API Admin, definisci i dettagli di configurazione della versione utilizzando un file in formato JSON. Puoi creare manualmente il file di configurazione o convertire un file app.yaml
esistente.
La creazione di un file di configurazione in formato JSON prevede due parti:
- Definisci le informazioni di configurazione per la versione che vuoi implementare.
- Definisci una sezione deploymentper specificare tutti i file e le risorse della tua app che vuoi eseguire il deployment.
Prima di iniziare
Prima di poter creare il file di configurazione app.json, devi caricare tutti i file e le risorse della tua app in un
bucket Cloud Storage.
Creazione manuale del file di configurazione JSON
Segui i passaggi riportati di seguito se devi creare manualmente il file di configurazione, ad esempio quando la tua app esclude un app.yaml o la tua app Java esistente utilizza un file appengine-web.xml.
Per creare manualmente il file di configurazione app.json per il deployment dell'app con
l'API Admin:
- Crea un nome file app.json.
- Utilizza le informazioni di configurazione fornite nella raccolta apps.services.versions per definire e configurare la versione da implementare.
- Utilizza il modello nella sezione Definizione di deploymentper specificare tutti i file e le risorse che vuoi eseguire il deployment dal tuo bucket Cloud Storage.
Consulta anche la sezione Esempio di seguito per assistenza nella creazione del file di configurazione app.json.
Conversione di un file app.yaml in formato JSON
Puoi utilizzare lo strumento convert_yaml.py per convertire e generare una versione app.json da un file app.yaml esistente.
Se esiste un file app.yaml che utilizzi normalmente per implementare manualmente le versioni della tua app, puoi conservare queste informazioni convertendo le impostazioni di configurazione nel formato JSON.
Prerequisito
Scarica e installa lo
strumento convert_yaml.py, inclusi i requisiti specificati.
Conversione dei file YAML con lo strumento convert_yaml.py
Per convertire il file app.yaml con lo strumento convert_yaml.py:
- Individua e prendi nota del percorso della directory del tuo - app.yaml.- Esempio: - cd root/apps-container/my-application/- Dove - app.yamldell'applicazione- example-python-app.pypotrebbe avere il seguente aspetto:- service: default version: v1 runtime: python27 threadsafe: true handlers: - url: /.* script: example-python-app.py
- Vai alla directory locale in cui hai scaricato lo strumento - convert_yaml.py, ad esempio:- cd root/tools/appengine-config-transformer
- Crea il file - app.jsondal file- app.yamleseguendo lo strumento- convert_yaml.py:- python ./convert_yaml.py [DIRECTORY_PATH]/app.yaml > [DIRECTORY_PATH]/app.json- dove - [DIRECTORY_PATH]è il percorso della directory del file- app.yaml.- Nella directory - [DIRECTORY_PATH]viene creata una versione JSON (- app.json) del file- app.yaml.
- Assicurati che l'ID della versione sia definito nel file di configurazione - app.json.- Se il file - app.yamlesclude l'elemento- version: [VERSION_NAME], l'elemento- "id": [VERSION_NAME]non è incluso nel- app.jsonfile dopo la conversione. Ad esempio, se vuoi impostare l'ID versione su- v1, devi aggiungere manualmente la riga seguente al file- app.json:- "id": "v1",
- Utilizza il modello nella sezione Definizione della sezione - deploymentper specificare tutti i file e le risorse della tua app che vuoi eseguire il deployment.
Consulta anche la sezione Esempio di seguito per assistenza nella creazione del file di configurazione app.json.
Definizione della sezione deployment
Per creare una sezione deployment nel file di configurazione app.json e
definire manualmente tutte le risorse che si trovano nel tuo bucket Cloud Storage, utilizza le informazioni di riferimento nella deployment
sezione
della raccolta apps.services.versions. Se stai definendo singoli file, puoi utilizzare il seguente modello:
"deployment": {
  "files": {
    "my-resource-file1": {
      "sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/my-application/my-resource-file1"
    },
  }
},
dove my-resource-file1 definisce il nome del file e il percorso della directory relativa in cui vuoi eseguire il deployment del file in App Engine.
File app.json di esempio
Utilizza il seguente esempio app.json per creare il file di configurazione.
Nell'esempio app.json seguente, l'ID versione v1 è definito insieme a una sezione deployment che include due file di origine di esempio del bucket 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,
}