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 服務,點擊「Configure」,然後將您的公開金鑰貼到「SSH public keys」區域。
<!--  -->小貼士:想節省未來設定的時間?您可以將 SSH 公開金鑰加入您的個人檔案,這樣日後新建立的服務都會自動包含該金鑰。
只需點擊控制台右上角的個人頭像,選擇「Your profile」,然後在那裡新增您的 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 分支、特定 tag 或 commit,以及如何管理多個環境(如 staging 和 production)。您還會找到有關環境變數等進階技巧。
最後,若部署過程中遇到任何問題,疑難排解 文件都是協助您高效解決問題、保持順暢工作流程的好幫手。