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 控制台中,选择您的生产 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