如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程

yanding 2023-05-06 300

介绍

对于任何开发者来说,最令人满足的事情就是将他们的开发成果构建为参考源后提供给每个人。因此,在您的系统上本地预览和开发一个 Rails 应用程序之后,接下来的步骤就是将它放到网上,以便其他人可以观察到它。这称为部署应用程序。现在 Heroku 来了。

它允许您快速部署 Ruby on Rails 应用程序,并且对学习者来说很受欢迎,因为它是一个开源且“轻松”的推送部署系统。简而言之,Heroku 几乎可以为个人处理所有事情。让我们检查如何通过以下步骤在 Heroku 上部署 Ruby on Rails 应用程序。

在 Heroku 云平台上部署 Ruby on Rails 应用程序的步骤

要在云端发布您的应用程序,您需要遵循以下步骤。将 Ruby on Rails 应用作为服务部署到 Heroku 平台并不难。本指南将向您展示如何从本地服务器开始您的 RoR 应用程序并将其部署到 Heroku。

本地设置

1. 创建一个新的 Heroku 帐户
2. 在您的机器上安装Heroku CLI

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
$ sudo snap install --classic heroku

3. 安装后,heroku命令现在可以在您的系统中使用了。使用您的 Heroku 帐户凭据登录。

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
admin1@admin1-Latitude-3510 :~$ heroku 登录heroku:按任意键打开浏览器登录或 q 退出:

4. 创建一个新的 ssh 密钥,否则不可用,立即按 Enter 上传现有的用于稍后推送代码的 ssh 密钥。

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
$ heroku 登录heroku:输入您的 Heroku 凭据电子邮件:schneems@example.com密码:找不到现有的公钥。你想生成一个吗?[嗯]生成新的 SSH 公钥。上传 ssh 公钥 /Users/adam/.ssh/id_rsa.pub

创建 Rails 应用程序

触发以下命令来创建 Rails 应用程序。

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
rails 新应用程序-d postgresql光盘应用程序捆绑 tailwindcss-railsrails tailwindcss:安装

免责声明:- 这里我们使用在 Ubuntu 22.04.1 上运行的 Ruby2.7.2 和 Rails 6.1.7

使用 Ruby 很有趣,但是您不能在 Heroku 上部署在 SQLite3 上运行的应用程序。PostgreSQL 是 Heroku 上数据库的实用标准。如果您正在使用当前的 RoR 应用程序,请添加 gem 'pg'。

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
宝石'sqlite3'

对此:

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
宝石'PG'

注意:- 在开发过程中,PostgreSQL 是高度认可的数据库。由于您的开发环境和部署环境之间存在差异,因此保留了一个类比,这有助于防止在应用程序中出现狡猾的错误。如果您的系统上尚未提供 Postgres,请在本地安装它。

如果您使用以前的 Rails 版本授权在 Heroku 上提供静态资产服务和日志记录,请在 Gemfile 中添加 rails_12factor gem。

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
宝石'rails_12factor',组::生产

在部署新应用程序期间,不需要 rails_12factor gem。但是如果你正在升级一个已经存在的应用程序,你可以删除 rails_12factor gem,前提是你有正确的配置配置/环境/production.rb 文件:

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
# 配置/环境/production.rbconfig.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?如果 ENV["RAILS_LOG_TO_STDOUT"].存在?记录器 = ActiveSupport::Logger.new(STDOUT)
  Logger.formatter = config.log_formatter
   config.Logger = ActiveSupport::TaggedLogging.new(Logger)结尾

现在重新安装你的依赖项(生成一个新的 Gemfile.lock):

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
$ 捆绑安装

使用您的数据修改 database.yml 并确保config/database.yml使用 postgresql 适配器。

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
生产:      
  <<: *默认      
  数据库:app_production生产:
   <<: *默认
  适配器:postgresql    
   数据库:app_production

运行脚手架命令来创建帖子。

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
$ rails g 脚手架帖子标题:字符串内容:文本

创建并迁移数据库。

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
$ 轨道数据库:创建$ 轨道数据库:迁移

在routes.rb中更改主页面路由并启动服务器

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
根“帖子#index”轨道小号

将您的代码更改推送到 git

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
初始化混帐添加。git commit -m "部署 Rails 应用程序

源代码:deploying-rails-app

您也可以克隆代码。这是存储库的源代码:https://github.com/ishag-bac/Deploy

先决条件

由于我们要在 Heroku 上部署 Ruby on Rails 应用程序,因此我们需要以下内容。

  • Ruby/Rails 和 Git 的基本知识。

  • 在本地计算机上安装了 Ruby 2.5.0+ 和 Rails 6+ 版本。

  • 经过验证的 Heroku 帐户。

  • 如果尚未安装 git,请在您的系统中安装,因为 Heroku 将依赖它进行部署。

  • 如果您的项目在 Git 中不可用,请在 git 中提交您的应用程序更改。

您是否正在寻找精通 Ruby on Rails 且在开发和部署方面也非常熟练的开发人员?
立即联系 Bacancy 并聘请Ruby on Rails 开发人员开始构建您的梦想项目!

指定 Ruby 版本

Rails 6 需要 Ruby 2.5.0 或更高版本。默认情况下,最新版本的 Ruby 安装在 Heroku 中。但是,您可以使用 ruby 域特定语言在 Gemfile 中指定确切的版本。根据应用程序中当前运行的 Ruby 版本,它可能如下所示:

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
红宝石'2.7.2'

相同版本的 Ruby 也应该在本地运行。您可以通过运行来检查 ruby 版本$红宝石-v.

在 Heroku 上部署 Ruby on Rails 应用程序

安装 Heroku CLI 并登录到您的 Heroku 帐户后,确保您位于包含您的应用程序的正确目录路径中,然后按照以下说明进行操作。

在终端中使用以下命令在 Heroku 中创建应用程序。

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
$ heroku 创建

将您的代码推送到 master 分支上的 Heroku。

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
$ git 推送 heroku 大师

注意:- 在部署之前检查默认分支名称。如果它使用 master,请使用 git push heroku master。否则,使用 git push heroku main。

通过运行迁移应用程序的数据库。

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
$ heroku 运行 rails db:migrate

要用数据为您的数据库播种,请运行。

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
$ heroku run rails db:seed

获取您的应用程序的 URL,并在浏览器中访问。

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
$ heroku 应用程序:信息
如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程

匆忙?获取我们的资源,保存并稍后阅读!

免费下载我们的白皮书和电子书!

下载

访问您的应用程序

源代码到 Heroku 的部署已经完成。现在您可以指示执行 Heroku 的流程类型。Heroku 通过在 dyno 中运行相关命令来实现这个过程。[Dyno 是组成的基本单元,是 Heroku 服务器上的一个容器。]

确保您有一个 dyno 使用以下命令运行 web 进程类型:

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
$ heroku ps:scale web=1

您可以检查应用程序测功机的状态。可以通过应用 heroku ps 命令列出应用程序的所有正在运行的测功机。

使用 heroku open,我们可以打开正在部署的应用程序。

查看日志

如果应用程序运行不正常或遇到任何问题,则必须检查日志。在 heroku logging 命令的帮助下,您可以获得有关您的应用程序的信息。

通过像这样使用 –tail 标志选项运行命令,您还可以获得整个日志流:

如何在 Heroku 上部署 Ruby on Rails 应用程序——技术教程
$ heroku 日志 --tail

故障排除

如果您推送应用程序并崩溃(heroku ps 显示状态崩溃),请检查您的日志,以找出在推送应用程序时到底出了什么问题。这里有一些问题。

开发 Gems 和测试 Gems 的运行时依赖性

如果您在部署时缺少 gem,请检查您的 Bundler 组。Heroku 在没有开发组或测试组的情况下构建您的应用程序,如果您的应用程序依赖于这些组之一的 gem 来运行,您应该将其移出该组。因此,在将 Ruby on Rails 应用程序部署到 Heroku 之前,测试它是否在本地工作,然后将其推送到 Heroku。

结论

我们希望您发现我们的综合指南很有用,并会尝试在 Heroku 上部署 ruby on rails 应用程序。如有任何疑问,请随时与我们联系。我们很乐意协助您进行技术方面的努力。如果您感兴趣,可以找到相关的Ruby on Rails 教程。请在社交媒体上和您的朋友中分享此博客,如果您有任何建议,请发表评论。很高兴能帮助你!

言鼎科技)专做语聊app,直播商城app,预约上门app,同城外卖跑腿app,家政服务app,医疗程序,欢迎资讯!

The End