Node.js: 設定 SSH 金鑰

本文件是使用 GitHub Actions 部署指南的一部分。請在此處查看完整指南:學習如何透過 GitHub Actions 部署您的 Node.js 程式碼。

👋 歡迎來到 Stackhero 文件中心!

Stackhero 提供即時可用的 Node.js 雲端 環境,協助您加速開發流程:

  • 只需一個簡單的 git push,即可在幾秒內部署到生產環境。無需額外工具或手動設定。
  • 支援自有網域,並自動配置 HTTPS 憑證,讓您的應用程式安全無虞,無需額外設定。
  • 自動備份、一鍵更新,以及預測性收費,讓您專注於功能開發,Stackhero 為您管理基礎架構。
  • 建構於專屬私有基礎架構之上,確保穩定效能與高安全性。

節省時間,降低營運負擔:只需幾分鐘,您的應用程式就能在 Stackhero 的 Node.js 雲端主機 上順利運行。

SSH 金鑰可讓 GitHub Actions 在部署程式碼時安全地連線到您的 Node.js 服務。這是保護您 Stackhero 服務的重要步驟。

在您的電腦上,您可以使用以下指令產生新的 SSH 金鑰:

ssh-keygen -C "" -f /tmp/ssh_key -N ""

若要查看剛剛產生的公開金鑰,請執行:

cat /tmp/ssh_key.pub

接著,請在 Stackhero 控制台中,選擇您的 production Node.js 服務,並點擊 Configure 按鈕。

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

請依照下列步驟操作:

  1. 在 SSH public keys 區塊,點擊 Add a public key。
  2. 在 Description 欄位輸入 GitHub Action。
  3. 在 Key 欄位貼上您剛才複製的公開金鑰。

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

現在,切換到 GitHub 並開啟您的專案 repository。點擊 Settings,然後選擇 Environments。接著選擇 New environment。

設定 GitHub 環境設定 GitHub 環境

在 Name 欄位輸入「production」,然後確認。

設定環境設定環境

點擊 No restriction 按鈕,然後選擇 Selected branches and tags。

設定環境限制設定環境限制

接著點擊 Add deployment branch or tag rule,在 Name pattern 欄位輸入「production」,然後點擊 Add rule。

設定環境分支設定環境分支

設定環境分支設定環境分支

在 Environment secrets 區塊,點擊 Add secret。

新增 secret新增 secret

若要取得您產生的私密金鑰,請執行:

cat /tmp/ssh_key

在 GitHub 上,請將 Name 設為 STACKHERO_SSH_PRIVATE_KEY,並將您的私密金鑰貼到 Value 欄位。

設定 SSH 私密金鑰 secret設定 SSH 私密金鑰 secret

接著,在 Environment variables 區塊,點擊 Add variable。

設定變數設定變數

將 Name 設為 STACKHERO_ENDPOINT,並將您的 Node.js 服務 endpoint 貼到 Value 欄位。您可以在 Stackhero 控制台找到這個 endpoint。

設定 endpoint 變數設定 endpoint 變數

如果您已為服務設定自訂網域名稱,請使用您的自訂網域取代 <XXXXXX>.stackhero-network.com。

為了安全起見,建議您在 Stackhero 與 GitHub 設定完成後,將電腦上的 SSH 金鑰刪除:

rm /tmp/ssh_key /tmp/ssh_key.pub