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 服务,点击“配置”,并将公钥粘贴到“SSH 公钥”区域。
<!--  -->小贴士:为节省后续操作时间,您可以将 SSH 公钥添加到 Stackhero 个人资料。新创建的服务会自动包含该密钥。
点击控制台右上角的头像,选择“个人资料”,然后添加您的 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 分支、标签或提交,以及管理多环境(如预发布和生产环境),请参阅 高级部署用法 文档。您还可以找到关于环境变量及其他实用功能的建议。
如有任何疑问或遇到问题,故障排查 文档始终可供参考,帮助您保持高效顺畅的部署流程。