Menggunakan server pengembangan lokal

Google Cloud CLI mencakup server pengembangan lokal (dev_appserver.py). Anda dapat menggunakan server pengembangan lokal untuk menyimulasikan menjalankan aplikasi App Engine dalam produksi serta menggunakannya untuk mengakses layanan paket lama App Engine. Lingkungan simulasi menerapkan beberapa pembatasan sandbox, seperti fungsi sistem terbatas dan impor modul bahasa runtime, tetapi tidak yang lainnya, seperti waktu tunggu atau kuota permintaan.

Server pengembangan lokal juga menyimulasikan layanan yang disediakan oleh library di SDK untuk App Engine, termasuk Datastore, Memcache, dan Task Queues, dengan menjalankan tugasnya secara lokal. Saat aplikasi Anda berjalan di server pengembangan, Anda masih dapat melakukan panggilan API jarak jauh ke infrastruktur produksi menggunakan endpoint HTTP Google API.

Menyiapkan server pengembangan lokal

Untuk menjalankan alat server pengembangan lokal, Anda harus menyiapkan hal-hal berikut:

  1. Pastikan Anda telah menginstal penafsir Python 3 yang kompatibel dengan versi Python yang diperlukan oleh gcloud CLI.
  2. Pastikan Anda telah menginstal komponen Google Cloud CLI yang menyertakan ekstensi App Engine untuk Python 3 (app-engine-python):

    gcloud components list
    

    Jika komponen app-engine-python tidak diinstal, jalankan perintah berikut:

    gcloud components install app-engine-python
    
  3. Temukan jalur penginstalan Google Cloud SDK dengan menjalankan perintah berikut:

    gcloud info
    

    Perintah tersebut menampilkan direktori root tempat Anda menginstal Google Cloud SDK, misalnya:

    Installation Root: [/Users/myname/google-cloud-sdk]

  4. Cari alat dev_appserver.py di folder /bin/ tempat Anda menginstal Google Cloud CLI, misalnya:

    CLOUD_SDK_ROOT/bin/dev_appserver.py
    
  5. Catat jalur ke dev_appserver.py untuk digunakan nanti.

Jalankan server pengembangan lokal

Setelah menyiapkan server pengembangan lokal dan membuat file konfigurasi app.yaml untuk aplikasi, Anda dapat menggunakan perintah dev_appserver.py untuk menjalankan aplikasi secara lokal.

Untuk memulai server pengembangan lokal:

  1. Dalam direktori yang berisi file konfigurasi app.yaml Anda, jalankan perintah dev_appserver.py.

    Tentukan jalur direktori ke aplikasi Anda, misalnya:

       python3 CLOUD_SDK_ROOT/bin/dev_appserver.py [PATH_TO_YOUR_APP]
    

    Atau, Anda dapat menentukan file konfigurasi layanan tertentu, misalnya:

       python3 CLOUD_SDK_ROOT/bin/dev_appserver.py app.yaml
    

    Untuk mengubah port, sertakan opsi --port:

       python3 CLOUD_SDK_ROOT/bin/dev_appserver.py --port=9999 [PATH_TO_YOUR_APP]
    

  2. Server pengembangan lokal sekarang berjalan dan memproses permintaan. Anda dapat membuka http://localhost:8080/ di browser web Anda untuk melihat cara kerja aplikasi.

    Jika Anda menentukan port kustom dengan opsi --port, jangan lupa untuk membuka browser Anda ke port tersebut.

Untuk menghentikan server lokal dari command line, tekan tombol berikut:

  • macOS atau Linux: Control+C
  • Windows: Control+Break

Tentukan ID aplikasi

Untuk mengakses ID Aplikasi Anda di server lokal, misalnya untuk melakukan spoofing terhadap alamat email, gunakan fungsi get_application_id().

Untuk mendapatkan nama host aplikasi yang sedang berjalan, gunakan fungsi get_default_version_hostname().

Deteksi lingkungan runtime aplikasi

Untuk menentukan apakah kode Anda berjalan di produksi atau di server pengembangan lokal, Anda dapat memeriksa nilai variabel lingkungan GAE_ENV:

if os.getenv('GAE_ENV', '').startswith('standard'):
  # Production in the standard environment
else:
  # Local development server

Gunakan layanan Email

Server pengembangan lokal dapat mengirim email untuk panggilan ke layanan email App Engine menggunakan server SMTP atau penginstalan lokal Sendmail.

Menggunakan SMTP

Untuk mengaktifkan dukungan email dengan server SMTP, panggil dev_appserver.py seperti berikut:

python3 [CLOUD_SDK_ROOT]/bin/dev_appserver.py --smtp_host=smtp.example.com --smtp_port=25 \
    --smtp_user=ajohnson --smtp_password=k1tt3ns [PATH_TO_YOUR_APP]

tetapkan opsi --smtp_host, --smtp_port, --smtp_user, dan --smtp_password dengan nilai Anda sendiri.

Menggunakan Sendmail

Untuk mengaktifkan dukungan email dengan Sendmail, panggil dev_appserver.py sebagai berikut:

python3 [CLOUD_SDK_ROOT]/bin/dev_appserver.py --enable_sendmail=yes [PATH_TO_YOUR_APP]

Server lokal menggunakan perintah sendmail untuk mengirim pesan email dengan konfigurasi default penginstalan Anda.

Gunakan layanan URL Fetch

Jika aplikasi Anda menggunakan URL fetch API untuk membuat permintaan HTTP, server pengembangan lokal akan membuat permintaan tersebut langsung dari komputer Anda. Perilaku URL Fetch di server lokal dapat berbeda dengan App Engine produksi jika Anda menggunakan server proxy untuk mengakses situs.

Menggunakan layanan Pengguna

App Engine menyediakan Layanan pengguna untuk menyederhanakan autentikasi dan otorisasi bagi aplikasi Anda. Server pengembangan lokal menyimulasikan perilaku Akun Google dengan halaman login dan logoutnya sendiri.

Saat berjalan di server pengembangan lokal, fungsi tersebut menampilkan URL untuk /_ah/login dan /_ah/logout di server lokal.

Argumen command line

Untuk opsi perintah server pengembangan lokal, lihat Opsi server pengembangan lokal.