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」按鈕。 取得服務設定取得服務設定

然後:

  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