Creazione di file di configurazione JSON per i deployment

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 crea manualmente il file di configurazione o converti un file app.yaml esistente .

La creazione di un file di configurazione in formato JSON prevede due parti:

  1. Definisci le informazioni di configurazione per la versione che vuoi implementare.
  2. Definisci una sezione deployment per specificare tutti i file e le risorse della tua app di cui vuoi eseguire il deployment.

Prima di iniziare

Devi prima caricare tutti i file e le risorse dell'app in un Bucket Cloud Storage prima di poter creare il file di configurazione app.json.

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 eseguire il deployment della tua app con l'API Admin:

  1. Crea un nome file con il nome app.json.
  2. Utilizza le informazioni di configurazione fornite nel raccolta apps.services.versions per definire e configurare la versione di cui vuoi eseguire il deployment.
  3. Utilizza il modello nella sezione Definizione di deployment per 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 in corso...

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:

  1. Individua e prendi nota del percorso della directory del tuo app.yaml.

    Esempio:

    cd root/apps-container/my-application/
    

    Dove app.yaml dell'applicazione example-python-app.py potrebbe avere il seguente aspetto:

    service: default
    version: v1
    runtime: python27
    threadsafe: true
    
    handlers:
    - url: /.*
      script: example-python-app.py
    
  2. Vai alla directory locale in cui hai scaricato lo strumento convert_yaml.py, ad esempio:

    cd root/tools/appengine-config-transformer
    
  3. Crea il file app.json dal file app.yaml eseguendo il comando Strumento convert_yaml.py:

    python ./convert_yaml.py [DIRECTORY_PATH]/app.yaml > [DIRECTORY_PATH]/app.json
    

    Dove [DIRECTORY_PATH] è il percorso della directory del tuo file app.yaml.

    Nella directory [DIRECTORY_PATH] viene creata una versione JSON (app.json) del file app.yaml.

  4. Assicurati che l'ID della versione sia definito nel file di configurazione app.json.

    Se il file app.yaml esclude l'elemento version: [VERSION_NAME], l'elemento "id": [VERSION_NAME] non viene incluso nel app.json file 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",
    
  5. Utilizza il modello nella sezione Definizione del deployment per specificare tutti i file e le risorse dell'app di cui 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 di app.json e definire manualmente tutte le risorse che si trovano in Cloud Storage bucket, utilizza le informazioni di riferimento in deployment 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

Per creare il file di configurazione, utilizza l'esempio seguente app.json.

Nel seguente esempio di app.json, l'ID versione v1 è definito insieme a un deployment che include due file di origine di esempio dal file [MY_BUCKET_ID] nel bucket Cloud Storage.

{
  "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,
}

Passaggi successivi