Node.js: 配置 SSH 密钥

本文件是使用 GitHub Actions 部署指南的一部分。您可以在这里查看完整指南:了解如何通过 GitHub Actions 部署您的 Node.js 代码

👋 欢迎来到 Stackhero 文档!

Stackhero 提供即开即用的 Node.js cloud 环境,助您加速开发进程:

  • 几秒钟内部署到生产环境,只需简单的 git push,无需额外工具或手动配置。
  • 支持自定义域名,并自动配置 HTTPS 证书,让您的应用安全无忧,无需额外设置。
  • 自动备份一键更新以及可预测的定价,让您专注于功能开发,基础设施交由 Stackhero 管理。
  • 基于专属私有基础设施,确保性能稳定和高安全性。

节省时间,降低运维负担:只需几分钟,您的应用即可在 Stackhero 的 Node.js cloud hosting 上运行。

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 中,使用 STACKHERO_SSH_PRIVATE_KEY 作为 Name,并将您的私钥粘贴到 Value 字段。

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

然后,在 Environment variables 下,点击 Add variable

设置变量设置变量

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

设置 endpoint 变量设置 endpoint 变量

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

为安全起见,建议您在 Stackhero 和 GitHub 配置好密钥后,从电脑上删除 SSH 密钥:

rm /tmp/ssh_key /tmp/ssh_key.pub