Ruby: 設定 SSH 金鑰

此文件屬於使用 GitHub Actions 進行部署指南的一部分。請在此處查看完整指南:如何利用 GitHub Actions 部署您的 Ruby 程式碼

👋 歡迎瀏覽 Stackhero 文件!

Stackhero 提供即用型的 Ruby cloud 解決方案,帶來多項優勢,包括:

  • 只需一個簡單的 git push,即可在數秒內部署您的應用程式。
  • 使用您自己的網域名稱,並享有自動配置HTTPS 憑證,提升安全性。
  • 享受自動備份一鍵更新,以及簡單、透明且可預測的收費
  • 憑藉專屬私有基礎設施,獲得最佳效能及強大安全性

節省時間簡化您的工作流程:只需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」按鈕。 取得服務設定取得服務設定

然後:

  1. SSH public keys 下,點擊 Add a public key
  2. Description 欄輸入 GitHub Action
  3. Key 欄貼上您電腦上的公鑰內容。

取得服務設定取得服務設定

現在,請前往 GitHub 網站並打開您的專案。

進入 Settings > Environments,然後點擊 New environment設定 GitHub 環境設定 GitHub 環境

將您的環境命名為「production」,然後儲存。 設定環境設定環境

點擊 No restriction 按鈕,選擇 Selected branches and tags設定環境限制設定環境限制

點擊 Add deployment branch or tag rule,輸入「production」作為 pattern,然後新增規則。 設定環境分支設定環境分支 設定環境分支設定環境分支

為了安全儲存您的 SSH 私鑰,請到 Environment secrets,點擊 Add secret新增 secret新增 secret

從您的電腦取得私鑰內容:

cat /tmp/ssh_key

Name 欄輸入 STACKHERO_SSH_PRIVATE_KEY,在 Value 欄貼上您的私鑰內容。 設定 SSH 私鑰 secret設定 SSH 私鑰 secret

接下來,將您的 Ruby 服務 endpoint 加入為環境變數。在 Environment variables 點擊 Add variable設定變數設定變數

Name 欄輸入 STACKHERO_ENDPOINT,在 Value 欄貼上您在 Stackhero 控制台找到的 Ruby 服務 endpoint。 設定 endpoint 變數設定 endpoint 變數

如果您的服務已設置自訂網域名稱,請務必使用該自訂網域,而非 <XXXXXX>.stackhero-network.com。

當您已在 Stackhero 及 GitHub 設定好金鑰後,建議將本機的金鑰檔案刪除以確保安全。

rm /tmp/ssh_key /tmp/ssh_key.pub