Untuk men-deploy versi aplikasi dengan Admin API, Anda dapat menentukan detail konfigurasi versi menggunakan file berformat JSON. Anda dapat membuat file konfigurasi secara manual atau mengonversi file app.yaml yang sudah ada.
Ada dua bagian untuk membuat file konfigurasi berformat JSON:
- Tentukan informasi konfigurasi untuk versi yang ingin Anda deploy.
- Tentukan bagian
deploymentuntuk menentukan semua file dan resource aplikasi yang ingin Anda deploy.
Sebelum memulai
Anda harus mengupload semua file dan resource aplikasi ke bucket Cloud Storage terlebih dahulu sebelum dapat membuat file konfigurasi app.json.
Membuat file konfigurasi JSON secara manual
Gunakan langkah-langkah berikut jika Anda perlu membuat file konfigurasi secara manual,
misalnya, saat aplikasi mengecualikan app.yaml atau aplikasi Java yang sudah ada
menggunakan file appengine-web.xml.
Untuk membuat file konfigurasi app.json secara manual guna men-deploy aplikasi Anda dengan Admin API:
- Buat nama file
app.json. - Gunakan informasi konfigurasi yang disediakan di koleksi apps.services.version untuk menentukan dan mengonfigurasi versi yang ingin Anda deploy.
- Gunakan template di bagian Menentukan bagian
deploymentuntuk menentukan semua file dan resource yang ingin di-deploy dari bucket Cloud Storage Anda.
Lihat juga bagian Contoh di bawah untuk membantu Anda
membuat file konfigurasi app.json.
Mengonversi file app.yaml ke format JSON
Anda dapat menggunakan alat convert_yaml.py untuk mengonversi dan membuat versi app.json
dari file app.yaml
yang sudah ada.
Jika ada file app.yaml, yang biasanya Anda gunakan untuk men-deploy versi aplikasi secara manual, Anda dapat mempertahankan informasi tersebut dengan mengonversi setelan konfigurasi tersebut menjadi JSON
format video.
Prasyarat
Download dan instal
alat convert_yaml.py, termasuk persyaratan yang ditentukan.
Mengonversi file YAML dengan alat convert_yaml.py
Untuk mengonversi file app.yaml dengan alat convert_yaml.py:
Temukan dan catat jalur direktori ke
app.yamlAnda.Contoh:
cd root/apps-container/my-application/Dengan
app.yamldari aplikasiexample-python-app.py, Anda akan terlihat seperti ini:service: default version: v1 runtime: python27 threadsafe: true handlers: - url: /.* script: example-python-app.pyBuka direktori lokal tempat Anda mendownload alat
convert_yaml.py, misalnya:cd root/tools/appengine-config-transformerBuat file
app.jsondari fileapp.yamldengan menjalankan alatconvert_yaml.py:python ./convert_yaml.py [DIRECTORY_PATH]/app.yaml > [DIRECTORY_PATH]/app.jsonDengan
[DIRECTORY_PATH]adalah jalur direktori ke fileapp.yamlAnda.Versi JSON (
app.json) fileapp.yamlAnda dibuat di direktori[DIRECTORY_PATH].Pastikan ID versi Anda ditentukan di file konfigurasi
app.json.Jika file
app.yamlAnda mengecualikan elemenversion: [VERSION_NAME], elemen"id": [VERSION_NAME]tidak akan disertakan dalam fileapp.jsonAnda setelah konversi. Misalnya, jika ingin menetapkan ID versi kev1, Anda harus menambahkan baris berikut ke fileapp.jsonsecara manual:"id": "v1",Gunakan template di bagian Menentukan bagian
deploymentuntuk menentukan semua file dan resource aplikasi yang ingin di-deploy.
Lihat juga bagian Contoh di bawah untuk membantu Anda
membuat file konfigurasi app.json.
Menentukan bagian deployment
Untuk membuat bagian deployment di file konfigurasi app.json dan secara manual menentukan semua resource yang terletak di bucket Cloud Storage, gunakan informasi referensi dalam bagian deployment
dari koleksi apps.services.versions. Jika menentukan file individual, Anda dapat menggunakan template berikut:
"deployment": {
"files": {
"my-resource-file1": {
"sourceUrl": "https://storage.googleapis.com/[MY_BUCKET_ID]/my-application/my-resource-file1"
},
}
},
Dengan my-resource-file1 menentukan nama file dan jalur direktori relatif tempat Anda ingin men-deploy file tersebut di App Engine.
Contoh file app.json
Gunakan contoh app.json berikut untuk membantu Anda membuat file konfigurasi.
Dalam contoh app.json berikut, ID versi v1 didefinisikan bersama dengan bagian
deployment
yang menyertakan dua contoh file sumber dari 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,
}