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」作為規則,然後新增。
設定環境分支
設定環境分支
為了安全儲存您的 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