Mulai mengembangkan aplikasi Ruby on Rails yang berjalan di lingkungan fleksibel App Engine. Aplikasi yang Anda buat berjalan di infrastruktur yang sama dengan yang mendukung semua produk Google, sehingga Anda dapat yakin bahwa aplikasi tersebut dapat diskalakan untuk melayani semua pengguna Anda, baik sedikit maupun jutaan.
Tutorial ini mengasumsikan bahwa Anda sudah memahami pengembangan web Rails. Memandu Anda dalam men-deploy aplikasi Rails baru.
Tutorial ini mendukung dan memerlukan Ruby 3.0 atau yang lebih baru.
Sebelum memulai
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Instal Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init
Menyiapkan lingkungan lokal untuk Rails
Untuk menyiapkan lingkungan lokal Anda untuk pengembangan Rails, Anda harus:
Atau, Anda dapat menggunakan Cloud Shell, yang sudah dilengkapi dengan Ruby, Rails, dan Google Cloud CLI.
Untuk mengetahui informasi tambahan tentang cara menginstal Rails dan dependensinya, lihat panduan resmi Mulai menggunakan Rails.
Setelah menyelesaikan prasyarat, Anda dapat membuat dan men-deploy aplikasi Rails. Bagian berikut akan memandu Anda mengonfigurasi, menjalankan, dan men-deploy aplikasi.
Buat aplikasi baru
Buat aplikasi contoh Rails baru.
rails new appengine_exampleBuka direktori yang berisi kode contoh.
cd appengine_example
Menjalankan aplikasi secara lokal
Untuk menjalankan aplikasi Rails baru di komputer lokal Anda:
Mulai server web lokal.
bundle exec rails serverDi browser Anda, buka http://localhost:3000/.
Aplikasi contoh menampilkan logo Rails dengan versi Rails dan Ruby.
Menambahkan halaman sederhana
Sekarang tambahkan halaman Selamat Datang ke aplikasi Rails yang dibuat.
Untuk membuat kerangka halaman baru, buat pengontrol Rails baru bernama
WelcomeControllerdengan tindakanindex.bundle exec rails generate controller Welcome indexBuka file
app/views/welcome/index.html.erbuntuk melihat HTML boilerplate berikut.Ubah file sesuai keinginan Anda. Misalnya, Anda dapat menggunakan konten berikut:
Tetapkan tindakan pengontrol
indexsebagai tindakan root untuk Rails. Kemudian, setiap kali pengguna mengunjungi aplikasi Rails, mereka akan melihat halaman selamat datang Anda.Buka file
config/routes.rbuntuk melihat konten yang dihasilkan berikut.Untuk mengubah file ini, tambahkan
root 'welcome#index'.Simpan file tersebut, lalu tutup. Uji aplikasi Rails seperti yang Anda lakukan sebelumnya.
Men-deploy aplikasi ke lingkungan fleksibel App Engine
Lingkungan fleksibel App Engine menggunakan file bernama
app.yaml.
untuk mendeskripsikan konfigurasi deployment aplikasi. Jika file ini tidak ada, gcloud CLI akan mencoba menebak konfigurasi deployment. Namun,
sebaiknya berikan file ini karena Rails memerlukan kunci rahasia di
lingkungan produksi.
Untuk mengonfigurasi aplikasi contoh agar dapat di-deploy ke App Engine, buat file baru bernama app.yaml di root direktori aplikasi contoh Anda, lalu tambahkan kode berikut:
Mengonfigurasi kunci rahasia Rails
Saat Anda men-deploy aplikasi Rails di lingkungan produksi, tetapkan variabel
lingkungan SECRET_KEY_BASE ke kunci rahasia yang digunakan untuk melindungi
data sesi pengguna. Variabel lingkungan ini dibaca dalam
file config/secrets.yml.
Buat kunci rahasia baru.
bundle exec rails secretSalin kunci rahasia yang dibuat. Anda akan menggunakan kunci rahasia pada langkah berikutnya.
Buka file
app.yamlyang Anda buat sebelumnya, lalu tambahkan bagianenv_variables.env_variablesmenetapkan variabel lingkungan di lingkunganproductiondi lingkungan fleksibel App Engine.app.yamlAnda akan terlihat seperti contoh di bawah, dengan[SECRET_KEY]diganti dengan kunci rahasia yang Anda salin.
Menyiapkan aplikasi lingkungan fleksibel App Engine
Jika ini pertama kalinya Anda men-deploy aplikasi, Anda perlu membuat aplikasi lingkungan fleksibel App Engine untuk membantu Anda memilih region tempat menjalankan aplikasi Rails. Anda dapat membaca selengkapnya tentang region dan zona.
Buat aplikasi App Engine. Secara default, perintah berikut akan membuat dua instance:
gcloud app createPilih region yang mendukung lingkungan fleksibel App Engine untuk aplikasi Ruby.
Men-deploy ke lingkungan fleksibel App Engine
Deploy aplikasi contoh dengan menjalankan perintah berikut:
gcloud app deploy
Tunggu hingga muncul pesan yang memberi tahu Anda bahwa update telah selesai. Proses ini dapat memerlukan waktu beberapa menit.
Mengakses aplikasi Rails yang di-deploy
Untuk mengambil project ID Anda, jalankan
gcloud info.Di browser Anda, masukkan URL berikut:
https://PROJECT_ID.REGION_ID.r.appspot.comGanti kode berikut:
PROJECT_ID: Project ID Google Cloud AndaREGION_ID: Kode yang ditetapkan App Engine ke aplikasi Anda
Konten berikut ditampilkan.

Kali ini, permintaan Anda akan ditayangkan oleh aplikasi Rails yang berjalan di lingkungan fleksibel App Engine.
Perintah ini men-deploy aplikasi seperti yang dijelaskan dalam app.yaml dan menetapkan versi yang baru di-deploy sebagai versi default, sehingga versi tersebut akan melayani semua traffic baru.
Saat aplikasi di-deploy, Anda mungkin melihat beberapa pesan berulang saat
platform memeriksa apakah aplikasi ditayangkan. Hal ini wajar. Tunggu pesan yang memberi tahu Anda bahwa update aplikasi telah selesai.
Jika mengupdate aplikasi, Anda dapat men-deploy versi yang diupdate dengan memasukkan perintah yang sama yang Anda gunakan untuk men-deploy aplikasi pertama kali. Deployment baru akan membuat versi baru aplikasi Anda dan mempromosikannya ke versi default. Versi lama aplikasi Anda tetap ada, begitu juga dengan instance VM terkaitnya. Perhatikan bahwa semua versi aplikasi dan instance VM ini adalah resource yang dapat ditagih.
Membaca log App Engine
Setelah men-deploy aplikasi Rails, Anda mungkin ingin membaca log. Anda
dapat membaca log aplikasi menggunakan
Logs Explorer
yang ada di konsol Google Cloud , atau menggunakan gcloud app logs read.
Anda dapat mempelajari lebih lanjut cara
membaca log menggunakan gcloud CLI.
Membersihkan resource
Setelah menyelesaikan tutorial, Anda dapat membersihkan resource yang dibuat agar tidak lagi menggunakan kuota dan menimbulkan tagihan. Bagian berikut menjelaskan cara menghapus atau menonaktifkan resource ini.
Hapus project
Cara termudah untuk menghilangkan penagihan adalah dengan menghapus project yang Anda buat untuk tutorial.
Untuk menghapus project:
- Di Konsol Google Cloud , buka halaman Manage resources.
- Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
Menghapus versi App Engine
Untuk menghapus versi aplikasi:
- Di konsol Google Cloud , buka halaman Versions untuk App Engine.
- Pilih kotak centang untuk versi aplikasi non-default yang ingin Anda hapus.
- Untuk menghapus versi aplikasi, klik Hapus.
Langkah berikutnya
Pelajari cara menggunakan Cloud SQL untuk MySQL dengan Rails.
Pelajari cara menggunakan Cloud SQL untuk PostgreSQL dengan Rails.
Pelajari cara menjalankan sampel Ruby Bookshelf di lingkungan fleksibel App Engine.
Pelajari cara menjalankan contoh Ruby Bookshelf di Compute Engine.
Pelajari cara menjalankan contoh Ruby Bookshelf di GKE.