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 按钮。
获取服务设置
继续以下步骤:
- 在 SSH public keys 部分,点击 Add a public key。
- 在 Description 中输入
GitHub Action。 - 在 Key 字段粘贴您刚才复制的公钥。
获取服务设置
设置私钥
现在,切换到 GitHub,打开您的项目仓库。点击 Settings,然后选择 Environments,点击 New environment。
配置 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 私钥密钥
然后,在 Environment variables 部分,点击 Add variable。
设置变量
将 Name 设置为 STACKHERO_ENDPOINT,并将您的 Node.js 服务 endpoint 粘贴到 Value 字段。您可以在 Stackhero 控制台中找到该 endpoint。
设置 endpoint 变量
如果您为服务设置了自定义域名,请使用您的自定义域名替换 <XXXXXX>.stackhero-network.com。
删除生成的密钥
出于安全考虑,建议在将 SSH 密钥添加到 Stackhero 和 GitHub 后,从您的电脑中删除这些密钥:
rm /tmp/ssh_key /tmp/ssh_key.pub