Ruby: 部署到生产环境
使用 Stackhero 在几分钟内将 Ruby 代码部署到生产环境
👋 欢迎来到 Stackhero 文档!
Stackhero 提供即开即用的 Ruby cloud 解决方案,带来多项优势,包括:
- 只需一个简单的
git push,即可在几秒钟内部署您的应用。- 使用您自己的域名,并享受自动配置HTTPS证书带来的更高安全性。
- 享受自动备份、一键更新,以及简单、透明且可预测的定价,让您无后顾之忧。
- 依托专属私有基础设施,获得卓越的性能和强大的安全性。
节省时间,简化您的工作流程:只需5分钟即可体验 Stackhero 的 Ruby cloud hosting 解决方案!
Stackhero 的 Ruby 云端托管服务 让您可以在几分钟内将 Ruby 项目上线。您将获得一个强大且可靠的平台,专为简化部署流程而设计,让您专注于应用开发,无需为基础设施操心。
您将获得以下优势:
- 只需简单执行
git push即可部署代码。 - 支持自定义域名,并自动管理 TLS 证书(HTTPS)。
- 应用运行在专属、隔离的基础设施上,保障安全与隐私。
- 支持 HTTP/2、TLS 1.3(HTTPS)、WebSockets、GZIP 和 Brotli 压缩、ETag 支持、TCP 和 UDP 端口访问等功能。
前置条件
您只需在电脑上安装 Git 即可开始。
<!--  -->如果您想节省时间,或希望避免配置本地开发环境,可以考虑使用 Stackhero 的 Code-Hero。
Code-Hero 是一个基于浏览器的开发环境,适用于任何设备。它基于 VSCode 分支构建,预装并预配置了主要开发工具,让您无需任何设置即可立即开始编码。
部署到 Stackhero 的步骤
将 Ruby 应用部署到 Stackhero 非常直接。以下是整体流程,每一步将在下文详细说明:
- 在 Stackhero 上创建 Ruby 服务。
- 将您的 SSH 公钥添加到 Ruby 服务配置中。
- 在开发环境中配置
git push命令。 - 为项目添加 Makefile。
- 将代码部署到生产环境。
如果您在部署过程中遇到问题,可以参考 故障排查 文档,快速找到解决方案,保障流程顺畅。
配置您的 Ruby 服务
如果您还没有创建 Stackhero for Ruby 服务,可以在 Stackhero 控制台几分钟内完成。
Ruby 服务启动后,下一步是添加您的 SSH 公钥。您可以通过以下命令查看公钥:
cat ~/.ssh/id_*.pub
还没有 SSH 密钥?
可以通过以下命令生成:
ssh-keygen -t ed25519
要添加 SSH 密钥,请进入 Stackhero 控制台,选择您的 Ruby 服务,点击“Configure”,并将公钥粘贴到“SSH public keys”区域。
<!--  -->小贴士:为节省后续操作时间,您可以将 SSH 公钥添加到 Stackhero 个人资料。新建服务时会自动包含该密钥。
点击控制台右上角的头像,选择“Your profile”,然后添加您的 SSH 公钥。
配置 git push 部署命令
部署到 Stackhero 只需使用 Git CLI 和 git push 命令,无需额外工具。
您可以在 Stackhero 控制台服务主页复制 git remote 命令。通常格式如下:
git remote add stackhero ssh://stackhero@<XXXXXX>.stackhero-network.com:222/project.git
为 Stackhero 部署创建 Makefile
为了让 Stackhero 知道如何运行您的应用,请在项目根目录添加一个 Makefile 文件。该文件定义了 Stackhero 部署时要执行的命令。
如果您不熟悉 Makefile 或
make命令,下面的步骤将指导您创建一个可用的 Makefile。
创建一个内容如下的 Makefile:
run:
rake assets:precompile
rake db:migrate RAILS_ENV=production
RAILS_ENV=production bundle exec puma -C config/puma.rb
该 Makefile 的作用:
run规则是必需的。Stackhero 部署时会查找此规则作为入口。请保持该规则名称不变。- 示例中使用了
rake和bundle,您可根据实际应用调整命令。 - 每行命令必须以 Tab 字符开头,不能用空格。如果出现
*** missing separator错误,请检查是否使用了 Tab。
上述示例部署流程将:
- 预编译 JavaScript 和 CSS 等静态资源到
public/assets目录。 - 执行数据库迁移。
- 启动 Puma 服务器以对外提供服务。
部署您的 Ruby 应用
现在您已准备就绪,可以执行:
git push stackhero main
首次部署时,Git 会要求您确认 SSH 密钥指纹。请输入 "yes" 继续。
稍等片刻,您的应用就会上线。
<!--  -->您可以通过 Stackhero 控制台显示的网址访问已部署的应用,地址通常为 https://<XXXXXX>.stackhero-network.com。
您的应用现已上线并运行在生产环境。
如果部署过程中遇到问题,故障排查 部分涵盖了常见问题及解决方法。
总结
本文介绍了如何通过 Stackhero 将 Ruby 代码部署到生产环境,整个流程既强大又简便。
如需了解更高级的用法,例如部署不同的 Git 分支、标签或提交,以及管理 staging 和 production 等多环境,请参阅 高级部署用法 文档。您还可以找到环境变量管理及其他实用功能的相关建议。
如有任何疑问或遇到问题,故障排查 文档始终可供参考,帮助您保持高效顺畅的部署流程。