כאן מוסבר איך מתחילים לפתח אפליקציות Ruby on Rails שפועלות בסביבה גמישה ב-App Engine. האפליקציות שאתם יוצרים פועלות באותה תשתית שמפעילה את כל המוצרים של Google, כך שאתם יכולים להיות בטוחים שהן יכולות להתרחב כדי לשרת את כל המשתמשים שלכם, בין אם יש כמה משתמשים או מיליונים.
המדריך הזה מניח שאתם מכירים את פיתוח האתרים ב-Rails. במדריך מוסבר איך לפרוס אפליקציית Rails חדשה.
המדריך הזה תומך ב-Ruby 3.0 ואילך, ודורש את הגרסה הזו.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init
הגדרת הסביבה המקומית ל-Rails
כדי להגדיר את הסביבה המקומית לפיתוח ב-Rails, צריך:
לחלופין, אפשר להשתמש ב-Cloud Shell, שבו כבר מותקנים Ruby, Rails ו-Google Cloud CLI.
מידע נוסף על התקנת Rails ויחסי התלות שלה זמין במדריך הרשמי Getting started with Rails.
אחרי שתשלימו את הדרישות המוקדמות, תוכלו ליצור ולפרוס אפליקציית Rails. בקטעים הבאים מוסבר איך להגדיר, להריץ ולפרוס אפליקציה.
יצירת אפליקציה חדשה
יוצרים אפליקציית Rails לדוגמה.
rails new appengine_exampleעוברים לספרייה שמכילה את הקוד לדוגמה.
cd appengine_example
הפעלת האפליקציה באופן מקומי
כדי להפעיל את אפליקציית Rails החדשה במחשב המקומי:
מפעילים שרת אינטרנט מקומי.
bundle exec rails serverבדפדפן, נכנסים לכתובת http://localhost:3000/.
אפליקציית הדוגמה מציגה את הלוגו של Rails עם הגרסאות של Rails ו-Ruby.
הוספת דף פשוט
עכשיו מוסיפים דף קבלת פנים לאפליקציית Rails שנוצרה.
כדי ליצור את התבנית לדף חדש, יוצרים בקר Rails חדש בשם
WelcomeControllerעם פעולתindex.bundle exec rails generate controller Welcome indexפותחים את הקובץ
app/views/welcome/index.html.erbכדי לראות את קוד ה-HTML הבא.משנים את הקובץ איך שרוצים. לדוגמה, אפשר להשתמש בתוכן הבא:
מגדירים את פעולת בקר
indexכפעולת הבסיס של Rails. אחר כך, בכל פעם שמשתמש מבקר באפליקציית Rails, הוא רואה את דף קבלת הפנים שלכם.כדי לראות את התוכן שנוצר, פותחים את הקובץ
config/routes.rb.כדי לשנות את הקובץ, מוסיפים
root 'welcome#index'.שומרים את הקובץ וסוגרים אותו. בודקים את אפליקציית Rails כמו קודם.
פריסת האפליקציה בסביבה הגמישה ב-App Engine
בסביבה הגמישה של App Engine נעשה שימוש בקובץ שנקרא app.yaml.
כדי לתאר את תצורת הפריסה של אפליקציה. אם הקובץ הזה לא קיים, ה-CLI של gcloud ינסה לנחש את הגדרות הפריסה. עם זאת, מומלץ לספק את הקובץ הזה כי Rails דורש מפתח סודי בסביבת ייצור.
כדי להגדיר את אפליקציית הדוגמה לפריסה ב-App Engine, יוצרים קובץ חדש בשם app.yaml בתיקיית השורש של אפליקציית הדוגמה ומוסיפים את השורות הבאות:
הגדרת המפתח הסודי של Rails
כשפורסים אפליקציית Rails בסביבת הייצור, מגדירים את משתנה הסביבה SECRET_KEY_BASE למפתח סודי שמשמש להגנה על נתוני הסשן של המשתמש. משתנה הסביבה הזה נקרא בקובץ config/secrets.yml.
יוצרים מפתח סודי חדש.
bundle exec rails secretמעתיקים את המפתח הסודי שנוצר. תשתמשו במפתח הסודי בשלב הבא.
פותחים את הקובץ
app.yamlשיצרתם קודם ומוסיפים קטעenv_variables. הקובץenv_variablesמגדיר משתני סביבה בסביבתproductionבסביבה הגמישה של App Engine. הקובץapp.yamlאמור להיראות כמו בדוגמה הבאה, כשבמקום[SECRET_KEY]מופיע המפתח הסודי שהעתקתם.
הגדרה של אפליקציה בסביבה גמישה ב-App Engine
אם זו הפעם הראשונה שאתם פורסים אפליקציה, אתם צריכים ליצור אפליקציה בסביבה גמישה ב-App Engine כדי לבחור את האזור שבו תפעילו את אפליקציית Rails. תוכלו לקרוא מידע נוסף על אזורים ועל אזורי זמינות.
יוצרים אפליקציית App Engine. כברירת מחדל, הפקודה הבאה יוצרת שני מופעים:
gcloud app createבוחרים אזור שתומך בסביבה הגמישה ב-App Engine לאפליקציות Ruby.
פריסה לסביבה גמישה ב-App Engine
מריצים את הפקודה הבאה כדי לפרוס את האפליקציה לדוגמה:
gcloud app deploy
מחכים להודעה שהעדכון הסתיים. התהליך יכול להימשך כמה דקות.
גישה לאפליקציית Rails שנפרסה
כדי לאחזר את מזהה הפרויקט, מריצים את הפקודה
gcloud info.בדפדפן, מזינים את כתובת ה-URL הבאה:
https://PROJECT_ID.REGION_ID.r.appspot.comמחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud -
REGION_ID: קוד שמוקצה לאפליקציה על ידי App Engine
-
התוכן הבא מוצג.

הפעם, הבקשה מוגשת על ידי אפליקציית Rails שפועלת בסביבה גמישה של App Engine.
הפקודה הזו פורסת את האפליקציה כמו שמתואר ב-app.yaml ומגדירה את הגרסה שנפרסה כגרסת ברירת המחדל, כך שהיא תציג את כל התנועה החדשה.
בזמן פריסת האפליקציה, יכול להיות שיופיעו כמה הודעות חוזרות בזמן שהפלטפורמה בודקת אם האפליקציה פועלת. זהו נוהל רגיל. מחכים להודעה שהעדכון של האפליקציה הסתיים.
אם מעדכנים את האפליקציה, אפשר לפרוס את הגרסה המעודכנת על ידי הזנת אותה הפקודה שבה השתמשתם כדי לפרוס את האפליקציה בפעם הראשונה. הפריסה החדשה יוצרת גרסה חדשה של האפליקציה ומקדמת אותה לגרסת ברירת המחדל. הגרסאות הישנות יותר של האפליקציה נשארות, וכך גם מכונות ה-VM שמשויכות אליהן. חשוב לזכור שכל גרסאות האפליקציה וכל המכונות הווירטואליות הן משאבים שחלים עליהם חיובים.
קריאת יומנים של App Engine
אחרי שפורסים את אפליקציית Rails, כדאי לקרוא את היומנים. אפשר לקרוא את יומני האפליקציה באמצעות Logs Explorer שבמסוף Google Cloud או באמצעות gcloud app logs read.
מידע נוסף על קריאת יומנים באמצעות ה-CLI של gcloud
מחיקת משאבים
אחרי שמסיימים את המדריך, אפשר למחוק את המשאבים שנוצרו, כדי שהם יפסיקו להשתמש במכסה ולצבור חיובים. בסעיפים הבאים מוסבר איך למחוק או להשבית את המשאבים האלו.
מחק את הפרויקט
הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט שיצרתם בשביל המדריך.
כדי למחוק את הפרויקט:
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
מחיקה של גרסה ב-App Engine
כדי למחוק גרסת אפליקציה:
- במסוף Google Cloud , נכנסים לדף Versions של App Engine.
- מסמנים את התיבה שלצד גרסת האפליקציה שלא מוגדרת כברירת מחדל ושרוצים למחוק.
- כדי למחוק את גרסת האפליקציה, לוחצים על Delete.