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 控制台中,选择您的生产 Node.js 服务,点击 Configure 按钮。

获取服务设置获取服务设置

继续以下步骤:

  1. SSH public keys 部分,点击 Add a public key
  2. Description 中输入 GitHub Action
  3. Key 字段粘贴您刚才复制的公钥。

获取服务设置获取服务设置

现在,切换到 GitHub,打开您的项目仓库。点击 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

添加密钥添加密钥

要获取您生成的私钥,请运行:

cat /tmp/ssh_key

在 GitHub 中,将 Name 设置为 STACKHERO_SSH_PRIVATE_KEY,并将您的私钥粘贴到 Value 字段。

设置 SSH 私钥密钥设置 SSH 私钥密钥

然后,在 Environment variables 部分,点击 Add variable

设置变量设置变量

Name 设置为 STACKHERO_ENDPOINT,并将您的 Node.js 服务 endpoint 粘贴到 Value 字段。您可以在 Stackhero 控制台中找到该 endpoint。

设置 endpoint 变量设置 endpoint 变量

如果您为服务设置了自定义域名,请使用您的自定义域名替换 <XXXXXX>.stackhero-network.com。

出于安全考虑,建议在将 SSH 密钥添加到 Stackhero 和 GitHub 后,从您的电脑中删除这些密钥:

rm /tmp/ssh_key /tmp/ssh_key.pub