Ruby: 設定 SSH 金鑰
此文件屬於使用 GitHub Actions 進行部署指南的一部分。請在此處查看完整指南:如何利用 GitHub Actions 部署您的 Ruby 程式碼。
👋 歡迎來到 Stackhero 文檔!
Stackhero 提供一個即用型的 Ruby cloud 解決方案,帶來多種好處,包括:
- 只需一個簡單的
git push,即可在幾秒鐘內 部署您的應用程式。- 使用您自己的域名,並享受 HTTPS 證書的自動配置以增強安全性。
- 享受自動備份、一鍵更新,以及簡單、透明和可預測的定價,讓您安心無憂。
- 得益於專用的私人 VM,獲得最佳的性能和強大的安全性。
節省時間並簡化您的生活:只需 5 分鐘即可嘗試 Stackhero 的 Ruby cloud hosting 解決方案!
為了讓 GitHub Actions 能夠部署您的程式碼,您需要設定 SSH 金鑰。這可確保只有授權的操作能連接到您的 Stackhero 服務,保障部署安全。
您可以在本機產生一組新的 SSH 金鑰:
ssh-keygen -C "" -f /tmp/ssh_key -N ""
設定公鑰
接著,取得剛剛產生的公鑰內容:
cat /tmp/ssh_key.pub
在 Stackhero 控制台中,選擇您的「production」Ruby 服務,然後點擊「Configure」按鈕。
取得服務設定
然後:
- 在
SSH public keys下,點擊Add a public key。 - 在
Description欄輸入GitHub Action。 - 在
Key欄貼上您電腦上的公鑰內容。
取得服務設定
設定私鑰
現在,請前往 GitHub 網站並打開您的專案。
進入 Settings > Environments,然後點擊 New environment。
設定 GitHub 環境
將您的環境命名為「production」,然後儲存。
設定環境
點擊 No restriction 按鈕,選擇 Selected branches and tags。
設定環境限制
點擊 Add deployment branch or tag rule,輸入「production」作為 pattern,然後新增規則。
設定環境分支
設定環境分支
為了安全儲存您的 SSH 私鑰,請到 Environment secrets,點擊 Add secret。
新增 secret
從您的電腦取得私鑰內容:
cat /tmp/ssh_key
在 Name 欄輸入 STACKHERO_SSH_PRIVATE_KEY,在 Value 欄貼上您的私鑰內容。
設定 SSH 私鑰 secret
接下來,將您的 Ruby 服務 endpoint 加入為環境變數。在 Environment variables 點擊 Add variable。
設定變數
在 Name 欄輸入 STACKHERO_ENDPOINT,在 Value 欄貼上您在 Stackhero 控制台找到的 Ruby 服務 endpoint。
設定 endpoint 變數
如果您的服務已設置自訂網域名稱,請務必使用該自訂網域,而非 <XXXXXX>.stackhero-network.com。
刪除產生的金鑰
當您已在 Stackhero 及 GitHub 設定好金鑰後,建議將本機的金鑰檔案刪除以確保安全。
rm /tmp/ssh_key /tmp/ssh_key.pub