Ruby: 配置 SSH 密钥

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

👋 欢迎来到 Stackhero 文档!

Stackhero 提供即开即用的 Ruby cloud 解决方案,带来多项优势,包括:

  • 只需一个简单的 git push,即可在几秒钟内部署您的应用。
  • 使用您自己的域名,并享受自动配置HTTPS证书带来的更高安全性。
  • 享受自动备份一键更新,以及简单、透明且可预测的定价,让您无后顾之忧。
  • 依托专属私有基础设施,获得卓越的性能和强大的安全性

节省时间简化您的工作流程:只需5分钟即可体验 Stackhero 的 Ruby cloud hosting 解决方案!

为了让 GitHub Actions 能够部署您的代码,您需要配置 SSH 密钥。这可以确保只有授权的操作才能连接到您的 Stackhero 服务,从而保障部署安全。

您可以在本地电脑上生成一对新的 SSH 密钥:

ssh-keygen -C "" -f /tmp/ssh_key -N ""

接下来,获取刚刚生成的公钥内容:

cat /tmp/ssh_key.pub

在 Stackhero 控制台中,选择您的“production” Ruby 服务,点击“Configure”按钮。 获取服务设置获取服务设置

然后:

  1. SSH public keys 下,点击 Add a public key
  2. Description 中输入 GitHub Action
  3. Key 中粘贴您电脑上的公钥内容。

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

现在,前往 GitHub 网站并打开您的项目。

进入 Settings > Environments,然后点击 New environment配置 GitHub 环境配置 GitHub 环境

将环境命名为“production”,并保存。 设置环境设置环境

点击 No restriction 按钮,选择 Selected branches and tags设置环境限制设置环境限制

点击 Add deployment branch or tag rule,输入“production”作为模式,然后添加规则。 设置环境分支设置环境分支 设置环境分支设置环境分支

为了安全存储您的 SSH 私钥,请进入 Environment secrets,点击 Add secret添加密钥添加密钥

从您的电脑获取私钥内容:

cat /tmp/ssh_key

Name 中输入 STACKHERO_SSH_PRIVATE_KEY,在 Value 中粘贴您的私钥内容。 设置 SSH 私钥密钥设置 SSH 私钥密钥

接下来,将 Ruby 服务的 endpoint 作为环境变量添加。点击 Environment variables 下的 Add variable设置变量设置变量

Name 中输入 STACKHERO_ENDPOINT,在 Value 中粘贴您在 Stackhero 控制台找到的 Ruby 服务 endpoint。 设置 endpoint 变量设置 endpoint 变量

如果您为服务设置了自定义域名,请务必使用该自定义域名,而不是 <XXXXXX>.stackhero-network.com。

当您已在 Stackhero 和 GitHub 完成密钥配置后,为了安全起见,可以从本地电脑删除这些密钥。

rm /tmp/ssh_key /tmp/ssh_key.pub