開始開發在 App Engine 彈性環境中執行的 Ruby on Rails 應用程式。 您建立的應用程式與所有 Google 產品採用相同的基礎架構,因此無論使用者人數多寡,都能放心擴大規模,為所有使用者提供服務。
本教學課程假設您熟悉 Rails 網頁程式開發人員。並會逐步引導您部署新的 Rails 應用程式。
本教學課程支援並需要 Ruby 3.0 以上版本。
事前準備
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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 Cloud de Confiance project.
-
安裝 Google Cloud CLI。
-
設定 gcloud CLI,使用您的聯合身分。
詳情請參閱「 使用聯合身分登入 gcloud CLI」。
-
執行下列指令,初始化 gcloud CLI:
gcloud init
設定本機環境以使用 Rails
如要設定本機環境以進行 Rails 開發作業,請完成下列步驟:
或者,您也可以使用 Cloud Shell,其中已預先安裝 Ruby、Rails 和 Google Cloud CLI。
如要進一步瞭解如何安裝 Rails 及其依附元件,請參閱官方的「開始使用 Rails」指南。
完成必要條件後,即可建立及部署 Rails 應用程式。以下各節將引導您設定、執行及部署應用程式。
建立新的應用程式
建立新的 Rails 範例應用程式。
rails new appengine_example前往含有程式碼範例的目錄。
cd appengine_example
在本機執行應用程式
如何在本機電腦上執行新的 Rails 應用程式:
啟動本機網路伺服器。
bundle exec rails server在瀏覽器中前往 http://localhost:3000/。
範例應用程式會顯示 Rails 標誌,以及 Rails 和 Ruby 版本。
新增簡易頁面
接著來為 Rails 應用程式新增歡迎頁面。
如要為新頁面產生架構,請建立名為
WelcomeController的新 Rails 控制器,並加入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 的檔案。描述應用程式的部署設定。如果沒有這個檔案,gcloud CLI 會嘗試推測部署設定。但仍建議您提供此檔案,因為 Rails 需要正式環境中的密鑰。
如要設定範例應用程式,以便部署到 App Engine,請在範例應用程式目錄的根層級建立名為 app.yaml 的新檔案,並加入下列內容:
設定 Rails 密鑰
在正式環境中部署 Rails 應用程式時,請將環境變數 SECRET_KEY_BASE 設為用於保護使用者工作階段資料的密鑰。這個環境變數會在 config/secrets.yml 檔案中讀取。
產生新密鑰。
bundle exec rails secret複製產生的密鑰。您會在下一個步驟中使用這組密鑰。
開啟先前建立的
app.yaml檔案,並新增env_variables區段。env_variables會在 App Engine 彈性環境的production環境中設定環境變數。您的app.yaml應如下例所示,其中[SECRET_KEY]應替換為您複製的密鑰。
設定 App Engine 彈性環境應用程式
如果這是您第一次部署應用程式,則必須建立 App Engine 彈性環境應用程式,以便選取要執行 Rails 應用程式的區域。您可以進一步瞭解區域和可用區。
建立 App Engine 應用程式。根據預設,下列指令會建立兩個執行個體:
gcloud app create選取支援 Ruby 應用程式的 App Engine 彈性環境區域。
部署至 App Engine 彈性環境
執行下列指令來部署範例應用程式:
gcloud app deploy
等候更新完成通知訊息。這可能需要幾分鐘的時間。
存取已部署的 Rails 應用程式
如要擷取專案 ID,請執行
gcloud info。在瀏覽器中輸入下列網址:
https://PROJECT_ID.REGION_ID.r.appspot.com更改下列內容:
PROJECT_ID:您的 Cloud de Confiance 專案 IDREGION_ID:App Engine 指派給應用程式的代碼
您會看到以下內容。

這一次,您的要求是由在 App Engine 彈性環境中執行的 Rails 應用程式處理。
這項指令會如 app.yaml 所述部署應用程式,並將新部署的版本設為預設版本,導致該版本處理所有新流量。在部署應用程式的同時,平台會檢查應用程式是否可提供服務,在這段期間,您可能會收到幾則重複的訊息。這是正常的狀況。請等候應用程式更新完成通知訊息。
若您更新了應用程式,您可以輸入第一次部署應用程式時使用的指令來部署更新版本。新的部署作業會建立應用程式的新版本,並將其升級為預設版本。舊版應用程式及其相關聯的 VM 執行個體會保留下來。請注意,所有這些應用程式版本和 VM 執行個體都是計費資源。
讀取 App Engine 記錄
Rails 應用程式現已部署完畢,接下來您可能會想讀取記錄。您可以使用 Cloud de Confiance 控制台中的Logs Explorer,或使用 gcloud app logs read 讀取應用程式記錄檔。如要進一步瞭解如何使用 gcloud CLI 讀取記錄,請參閱這篇文章。
清除所用資源
完成教學課程後,您可以清除所建立的資源,這樣資源就不會繼續使用配額,也不會產生費用。下列各節將說明如何刪除或關閉這些資源。
刪除專案
如要避免付費,最簡單的方法就是刪除您為了本教學課程所建立的專案。
刪除專案的方法如下:
- 前往 Cloud de Confiance 控制台的「Manage resources」(管理資源) 頁面。
- 在專案清單中選取要刪除的專案,然後點選「Delete」(刪除)。
- 在對話方塊中輸入專案 ID,然後按一下 [Shut down] (關閉) 以刪除專案。
刪除 App Engine 版本
若要刪除應用程式版本:
- 在 Cloud de Confiance 控制台中,前往 App Engine 的「Versions」(版本) 頁面。
- 找出要刪除的非預設應用程式版本,然後勾選對應的核取方塊。
- 如要刪除應用程式版本,請依序按一下 和「Delete」(刪除)。