כאן אפשר להתחיל לפתח אפליקציות 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 שנוצרה.
כדי ליצור את ה-scaffolding של דף חדש, יוצרים בקר 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 ומגדירה את הגרסה שנפרסה כגרסת ברירת המחדל, כך שהיא תציג את כל התנועה החדשה.
במהלך הפריסה של האפליקציה, יכול להיות שתראו כמה הודעות חוזרות בזמן שהפלטפורמה בודקת אם האפליקציה פועלת. זהו נוהל רגיל. ממתינים להודעה על השלמת העדכון של האפליקציה.
אם מעדכנים את האפליקציה, אפשר לפרוס את הגרסה המעודכנת על ידי הזנת אותה פקודה שבה השתמשתם כדי לפרוס את האפליקציה בפעם הראשונה. הפריסה החדשה יוצרת גרסה חדשה של האפליקציה ומקדם אותה לגרסת ברירת המחדל. הגרסאות הישנות של האפליקציה נשארות, וכך גם מופעי מכונות וירטואליות שמשויכים אליהן. חשוב לזכור שכל הגרסאות של האפליקציה ומופעי המכונות הווירטואליות הם משאבים שחלים עליהם חיובים.
קריאת יומנים של 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.