Node.js: 設定 SSH 金鑰

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

👋 歡迎來到 Stackhero 文檔!

Stackhero 提供即用型的 Node.js 雲端 解決方案,帶來多項優勢,包括:

  • 只需一個簡單的 git push,即可在幾秒鐘內 部署您的應用程式。
  • 使用您自己的域名,並享受 HTTPS 證書的自動配置以增強安全性。
  • 享受自動備份一鍵更新,以及簡單、透明且可預測的定價,讓您高枕無憂。
  • 憑藉專用的私人 VM,獲得最佳的性能和強大的安全性

節省時間簡化您的生活:只需 5 分鐘即可嘗試 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