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 :
- Définir les informations de configuration pour la version que vous souhaitez déployer.
- 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 :
- Créez un fichier nommé
app.json
. - Utilisez les informations de configuration fournies dans la collection apps.services.versions pour définir et configurer la version que vous souhaitez déployer.
- 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 :
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'applicationexample-python-app.py
pourrait ressembler à ceci :service: default version: v1 runtime: python27 threadsafe: true handlers: - url: /.* script: example-python-app.py
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
Créez le fichier
app.json
à partir du fichierapp.yaml
en exécutant l'outilconvert_yaml.py
:python ./convert_yaml.py [DIRECTORY_PATH]/app.yaml > [DIRECTORY_PATH]/app.json
Où
[DIRECTORY_PATH]
est le chemin d'accès au fichierapp.yaml
.Une version JSON (
app.json
) de votre fichierapp.yaml
est créée dans le répertoire[DIRECTORY_PATH]
.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émentversion: [VERSION_NAME]
, l'élément"id": [VERSION_NAME]
n'est pas inclus dans le fichierapp.json
après la conversion. Par exemple, si vous souhaitez définir l'ID de version surv1
, vous devez ajouter manuellement la ligne suivante à votre fichierapp.json
:"id": "v1",
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"
},
}
},
Où 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,
}