Créer des fichiers de configuration JSON pour vos déploiements

Pour déployer une version de votre application à l'aide de l'API Admin, vous devez définir les détails de configuration de votre version à l'aide d'un fichier au format JSON. Vous pouvez créer manuellement le fichier de configuration ou convertir un fichier app.yaml existant.

La création d'un fichier de configuration au format JSON se fait en deux parties :

  1. Définir les informations de configuration pour la version que vous souhaitez déployer.
  2. Définir une section deployment pour spécifier tous les fichiers et ressources de votre application que vous souhaitez déployer.

Avant de commencer

Vous devez d'abord importer tous les fichiers et ressources de votre application dans un bucket Cloud Storage pour pouvoir créer le fichier de configuration app.json.

Créer manuellement le fichier de configuration JSON

Suivez les étapes ci-dessous si vous devez créer manuellement le fichier de configuration ; par exemple, lorsque votre application exclut un fichier app.yaml ou que votre application Java existante utilise un fichier appengine-web.xml.

Pour créer manuellement le fichier de configuration app.json pour le déploiement de votre application avec l'API Admin, procédez comme suit :

  1. Créez un fichier nommé app.json.
  2. Utilisez les informations de configuration fournies dans la collection apps.services.versions pour définir et configurer la version que vous souhaitez déployer.
  3. Utilisez le modèle dans Définir la section deployment pour spécifier tous les fichiers et ressources que vous souhaitez déployer à partir de votre bucket Cloud Storage.

Consultez également la section Exemple ci-dessous pour vous aider dans la création de votre fichier de configuration app.json.

Convertir un fichier app.yaml au format JSON

Vous pouvez utiliser l'outil convert_yaml.py pour convertir et générer une version app.json à partir d'un fichier app.yaml existant.

Si un fichier app.yaml existe déjà, que vous utilisez normalement pour déployer manuellement des versions de votre application, vous pouvez conserver ces informations en convertissant ces paramètres de configuration au format JSON.

Conditions préalables

Téléchargez et installez l'outil convert_yaml.py, y compris les exigences spécifiées.

Convertir des fichiers YAML avec l'outil convert_yaml.py

Pour convertir votre fichier app.yaml à l'aide de l'outil convert_yaml.py, procédez comme suit :

  1. Recherchez et notez le chemin d'accès au répertoire menant à votre fichier app.yaml.

    Exemple :

    cd root/apps-container/my-application/
    

    Où l'en-tête app.yaml de l'application example-python-app.py pourrait ressembler à ceci :

    service: default
    version: v1
    runtime: python27
    threadsafe: true
    
    handlers:
    - url: /.*
      script: example-python-app.py
    
  2. Accédez au répertoire local dans lequel vous avez téléchargé l'outil convert_yaml.py ; par exemple :

    cd root/tools/appengine-config-transformer
    
  3. Créez le fichier app.json à partir du fichier app.yaml en exécutant l'outil convert_yaml.py :

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

    [DIRECTORY_PATH] est le chemin d'accès au fichier app.yaml.

    Une version JSON (app.json) de votre fichier app.yaml est créée dans le répertoire [DIRECTORY_PATH].

  4. Vérifiez que l'ID de votre version est bien défini dans le fichier de configuration app.json.

    Si votre fichier app.yaml exclut l'élément version: [VERSION_NAME], l'élément "id": [VERSION_NAME] n'est pas inclus dans le fichier app.json après la conversion. Par exemple, si vous souhaitez définir l'ID de version sur v1, vous devez ajouter manuellement la ligne suivante à votre fichier app.json :

    "id": "v1",
    
  5. Utilisez le modèle dans Définir la section deployment pour spécifier tous les fichiers et ressources de l'application que vous souhaitez déployer.

Consultez également la section Exemple ci-dessous pour vous aider dans la création de votre fichier de configuration app.json.

Définir la section deployment

Pour créer une section deployment dans le fichier de configuration app.json et définir manuellement toutes les ressources situées dans votre bucket Cloud Storage, utilisez les informations de référence fournies dans la section deployment de la collection apps.services.versions. Si vous définissez des fichiers individuels, vous pouvez utiliser le modèle suivant :

"deployment": {
  "files": {
    "my-resource-file1": {
      "sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/my-application/my-resource-file1"
    },
  }
},

my-resource-file1 définit le nom du fichier et le chemin d'accès relatif du répertoire dans lequel vous souhaitez déployer ce fichier dans App Engine.

Fichier app.json d'exemple

Utilisez le fichierapp.json d'exemple ci-dessous pour vous aider dans la création de votre fichier de configuration.

Dans l'exemple app.json suivant, l'ID de version v1 est défini avec une section deployment qui inclut deux exemples de fichiers sources à partir du 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,
}

Étape suivante