Ruby: 部署到正式環境
如何在幾分鐘內將您的 Ruby 程式碼部署到正式環境
👋 歡迎來到 Stackhero 文件中心!
Stackhero 提供即時可用的 Ruby cloud 解決方案,帶來多項優勢,包括:
- 只需一個簡單的
git push,即可在數秒內部署您的應用程式。- 可使用您自己的網域名稱,並享有自動設定HTTPS 憑證,提升安全性。
- 享有自動備份、一鍵更新,以及簡單、透明且可預測的計價。
- 憑藉專屬私有基礎架構,獲得最佳效能與強大安全性。
節省時間,簡化您的工作流程:只需5 分鐘即可體驗 Stackhero 的 Ruby cloud hosting 解決方案!
Stackhero 的 Ruby 雲端代管服務 讓您只需幾分鐘就能輕鬆將 Ruby 專案部署到正式環境,結合強大的平台與直覺的使用體驗。
您將獲得以下優勢:
- 只需一行
git push指令即可部署您的程式碼。 - 可使用您自己的自訂網域,並自動管理 TLS 憑證(HTTPS)。
- 您的應用程式運行於專屬且隔離的基礎架構,確保最高等級的安全性與隱私。
- 支援 HTTP/2、TLS 1.3(HTTPS)、WebSockets、GZIP 與 Brotli 壓縮、ETag、TCP 與 UDP 埠口存取等多項功能。
先決條件
您只需要在電腦上安裝 Git,就可以開始在 Stackhero 上部署您的專案。
<!--  -->如果您想節省時間,或不想自行建立複雜的本地開發環境,建議您可以參考 Stackhero 的 Code-Hero。
Code-Hero 是一個可即時使用的雲端開發平台,您可以直接透過瀏覽器在任何電腦、平板或手機上存取。它基於 VSCode 分支,預先安裝並設定好所有必要工具,讓您無需任何額外設定即可立即開始撰寫程式。
部署到 Stackhero 的步驟
將您的 Ruby 應用程式部署到 Stackhero 是一個簡單的流程。以下是您需要執行的步驟,我們將逐一說明:
- 在 Stackhero 上建立一個 Ruby 服務。
- 將您的 SSH 公鑰加入 Ruby 服務的設定中。
- 在您的開發平台上設定
git push指令。 - 在專案中新增 Makefile。
- 將您的程式碼部署到正式環境。
如果您在部署過程中遇到任何問題,疑難排解 文件可以協助您快速找到解決方案。建議您優先查閱該文件,以節省時間並減少挫折感。
設定 Stackhero for Ruby 服務
如果您尚未建立 Stackhero for Ruby 服務,可以在 Stackhero 控制台中於幾分鐘內完成。
當您的 Ruby 服務啟動後,下一步是新增您的 SSH 公鑰。您可以透過以下指令找到您的公鑰:
cat ~/.ssh/id_*.pub
還沒有 SSH 金鑰嗎?
您可以使用以下指令產生:
ssh-keygen -t ed25519
要新增 SSH 金鑰,請前往 Stackhero 控制台,選擇您的 Ruby 服務,點擊「設定」,然後將您的公鑰貼到「SSH 公鑰」欄位。
<!--  -->小提示:想要未來節省設定時間嗎?您可以將 SSH 公鑰加入個人檔案,這樣日後新建立的服務都會自動包含該金鑰。
只需點擊控制台右上角的大頭貼,選擇「個人檔案」,然後新增您的 SSH 公鑰即可。
設定部署用的 git push 指令
部署到 Stackhero 採用 Git CLI 及 git push 指令,無需安裝其他工具。
您可以在 Stackhero 控制台的服務主頁複製 git remote 指令。通常格式如下:
git remote add stackhero ssh://stackhero@<XXXXXX>.stackhero-network.com:222/project.git
建立 Stackhero 部署用的 Makefile
為了讓 Stackhero 知道如何執行您的應用程式,您需要在專案根目錄建立一個 Makefile。這個檔案會定義 Stackhero 部署時要執行的指令。
如果您不熟悉 Makefile 或
make指令,請不用擔心,以下步驟會詳細說明。
請建立一個內容如下的 Makefile:
run:
rake assets:precompile
rake db:migrate RAILS_ENV=production
RAILS_ENV=production bundle exec puma -C config/puma.rb
這個 Makefile 的說明如下:
run規則是必要的,Stackhero 會在部署時自動執行它。請務必保留這個名稱,因為它是進入點。- 指令中使用了
rake和bundle,但您可以根據應用程式需求自行調整。 - 請確保每一行指令前面都是 Tab 字元而非空格。如果出現
*** missing separator這類錯誤,請檢查格式。
在上述範例中,部署時會:
- 將 JavaScript 與 CSS 等資源預先編譯到
public/assets目錄。 - 執行必要的資料庫遷移。
- 啟動 Puma 伺服器來服務您的應用程式。
部署您的 Ruby 應用程式
一切就緒後,您可以使用以下指令將程式碼部署到 Stackhero:
git push stackhero main
第一次執行時,系統會要求您確認 SSH 金鑰指紋。請輸入「yes」繼續。
稍待片刻,您的應用程式就會上線。
<!--  -->您可以透過 Stackhero 控制台顯示的網站網址存取已部署的應用程式,網址通常為 https://<XXXXXX>.stackhero-network.com。
恭喜您,您的應用程式已經正式上線。
部署遇到問題嗎?
請務必參考 疑難排解 區段,快速找到解決方法。
結論
您已經學會如何透過 Stackhero 將 Ruby 程式碼部署到正式環境,這個流程既簡單又強大。
如果您想進一步了解,請參考 進階部署用法 文件,內容涵蓋如何部署不同的 git 分支、特定標籤或 commit,以及如何管理多個環境(如 staging 與 production)。您也會找到有關環境變數等進階技巧。
另外,若在部署過程中遇到任何問題,疑難排解 文件都是協助您高效解決問題、保持順暢工作流程的好幫手。