Ruby: 部署到生产环境
如何在几分钟内将您的 Ruby 代码部署到生产环境
👋 欢迎来到 Stackhero 文档!
Stackhero 提供了一种即用型 Ruby 云 解决方案,具有众多优势,包括:
- 通过简单的
git push在几秒钟内 部署您的应用程序。- 使用您自己的域名,并享受 HTTPS 证书的自动配置以增强安全性。
- 享受自动备份、一键更新以及简单、透明和可预测的定价带来的安心。
- 通过私有和专用的 VM获得最佳的性能和强大的安全性。
节省时间并简化您的生活:尝试 Stackhero 的 Ruby 云托管 解决方案只需 5 分钟!
Stackhero Ruby 云托管服务 让您能够在几分钟内轻松将 Ruby 项目部署到生产环境,结合了强大的平台能力与直观的用户体验。
您将获得以下优势:
- 只需一个简单的
git push即可部署您的代码。 - 使用您自己的自定义域名,自动管理 TLS 证书(HTTPS)。
- 应用运行在专属的私有虚拟机(VM)上,确保最高级别的安全性与隐私。
- 支持 HTTP/2、TLS 1.3(HTTPS)、WebSockets、GZIP 和 Brotli 压缩、ETag、TCP 和 UDP 端口访问等多项功能。
前置条件
您只需要在本地电脑上安装 Git,即可开始在 Stackhero 上部署您的项目。
<!--  -->如果您希望节省时间,或不想配置复杂的本地开发环境,可以了解一下 Stackhero 的 Code-Hero。
Code-Hero 是一款即开即用的开发平台,您可以直接通过浏览器在任意电脑、平板或手机上访问。它基于 VSCode 分支构建,预装并预配置了所有必需工具,让您无需任何环境配置即可立即开始编码。
部署到 Stackhero 的步骤
将 Ruby 应用部署到 Stackhero 非常简单。您需要按照以下步骤操作,我们会逐步详细介绍:
- 在 Stackhero 上创建 Ruby 服务。
- 将您的 SSH 公钥添加到 Ruby 服务配置中。
- 在开发环境中配置
git push命令。 - 为项目添加 Makefile。
- 将代码部署到生产环境。
如果在部署过程中遇到任何问题,故障排查 文档可以帮助您快速找到解决方案。建议优先查阅,以节省时间并减少不必要的困扰。
配置 Stackhero for Ruby 服务
如果您还没有创建 Stackhero for Ruby 服务,可以在 Stackhero 控制台几分钟内完成。
Ruby 服务启动后,下一步是添加您的 SSH 公钥。您可以通过以下命令查找您的公钥:
cat ~/.ssh/id_*.pub
还没有 SSH 密钥?
可以通过以下命令生成:
ssh-keygen -t ed25519
要添加 SSH 密钥,请进入 Stackhero 控制台,选择您的 Ruby 服务,点击“配置”,并将您的公钥粘贴到“SSH 公钥”区域。
<!--  -->小贴士:想节省未来的操作时间?您可以将 SSH 公钥添加到个人资料中,这样新建服务时会自动包含该密钥。
只需点击控制台右上角的头像,选择“个人资料”,然后添加您的 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:
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错误,请检查格式。
在上述示例中,部署过程将会:
- 预编译 JavaScript 和 CSS 等静态资源到
public/assets目录。 - 执行所需的数据库迁移。
- 启动 Puma 服务器以对外提供服务。
部署您的 Ruby 应用
一切准备就绪。要将代码部署到 Stackhero,只需执行:
git push stackhero main
首次运行时,系统会要求您确认 SSH 密钥指纹。只需输入“yes”继续。
稍等片刻,您的应用就会上线。
<!--  -->您可以通过 Stackhero 控制台显示的网址访问已部署的应用,通常格式为 https://<XXXXXX>.stackhero-network.com。
恭喜,您的应用现已上线并投入生产环境。
部署遇到问题?
请务必查阅 故障排查 部分,快速获取解决方案。
总结
您已经学会了如何通过 Stackhero 将 Ruby 代码部署到生产环境,整个流程既简单又高效。
如果您想进一步了解,建议阅读 高级部署用法 文档,涵盖了如部署不同 git 分支、指定标签或提交、管理多环境(如 staging 和 production)等主题。您还可以找到关于环境变量管理等实用技巧。
请记住,如果部署过程中遇到任何问题,故障排查 文档是帮助您高效解决问题、保持工作流顺畅的宝贵资源。