Ruby: 部署到正式環境
如何在幾分鐘內將您的 Ruby 程式碼部署到正式環境
👋 歡迎來到 Stackhero 文檔!
Stackhero 提供一個即用型的 Ruby cloud 解決方案,帶來多項好處,包括:
- 只需一個簡單的
git push,即可在幾秒鐘內部署您的應用程式。- 使用您自己的域名,並享受 HTTPS 證書的自動配置以增強安全性。
- 享受自動備份、一鍵更新,以及簡單、透明且可預測的定價,讓您安心無憂。
- 憑藉專用的私人 VM,獲得最佳的性能和強大的安全性。
節省時間並簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Ruby cloud hosting 解決方案!
Stackhero 的 Ruby 雲端代管服務 讓您能在短短幾分鐘內,輕鬆將 Ruby 專案部署到正式環境,結合強大的平台與直覺的使用體驗。
您將獲得以下優勢:
- 只需一行
git push指令即可部署您的程式碼。 - 可使用自訂網域,並自動管理 TLS 憑證(HTTPS)。
- 您的應用程式運行於專屬、私有的 VM,確保最高等級的安全性與隱私。
- 支援 HTTP/2、TLS 1.3(HTTPS)、WebSockets、GZIP 與 Brotli 壓縮、ETag、TCP 與 UDP 埠存取等多項功能。
先決條件
您只需要在電腦上安裝 Git,就可以開始在 Stackhero 上部署您的專案。
<!--  -->如果您想節省時間,或不想設定複雜的本地開發環境,建議您可以參考 Stackhero 的 Code-Hero。
Code-Hero 是一個可直接在瀏覽器上使用的即時開發平台,無論是電腦、平板還是手機都能存取。它基於 VSCode fork,預先安裝並設定好所有必要工具,讓您無需任何安裝或設定即可立即開始撰寫程式碼。
部署到 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)。您也會找到有關環境變數等進階技巧。
請記得,若在部署過程中遇到任何問題,疑難排解 文件是協助您高效解決問題、保持順暢工作流程的最佳資源。