Help us understand the problem. What is going on with this article?

Herokuでアプリを公開するときの流れ

More than 1 year has passed since last update.

Heroku

Herokuとは、PaaS(Platform as a Service)と呼ばれるサービスで、アプリケーションの開発から実行、運用までのすべてをクラウドで完結できるプラットフォームである。
わかりやすく説明すると、WEBアプリの公開を簡単にしてくれる画期的なサービスである。

Herokuがどれだけ便利なのか解説

では、実際にHeroku(PaaS)がどれだけ便利なのかを解説する。

これまで、インターネット上にアプリケーションを公開しようとした場合、次のような工程を踏まなければ、アプリケーションを作り始めることすらできなかった。

1.サーバPCやルータなどのハードウェアを購入
2.インターネットに接続し、ネットワークを構築
3.サーバの仮想化環境を整備
4.LinuxやWindowsサーバなどのOSをインストール
5.Oracle、MySQL、PostgreSQLなどのデータベースをセットアップ
6.Java、Ruby、PHPなどのアプリケーション実行環境をセットアップ

実際には、データベースのバックアップなどももっと細かい部分も必要になるので、環境構築にかかるコストは金銭的にも、時間的にもかなり大きなものになる。

Heroku(PaaS)は、このようなアプリケーション公開にかかる数々の作業を代行してくれるサービスである。

Herokuでアプリを公開するときの流れ

では実際に、新しいアプリの生成からHerokuを使ってデプロイ(アプリを公開)するまでの流れを解説する。
*ここでは、Ruby on Railsを利用していることを前提とする。

1.rails newコマンドでアプリの骨組みを生成

$ rails new hello_Heroku

2.Gemfileを編集する
Herokuでは、PostgreSQLデータベースを使う為、RailsがPostgreSQLと通信できるようにGemfileに以下のgemを追加する。

group :production do
  gem 'pg', '0.20.0'
end

またHerokuではSQLiteがサポートされていないため、以下の変更を行って、sqlite3 gemが本番環境に導入されないようにしておきます。

group :development, :test do
  gem 'sqlite3', '1.3.13'
  gem 'byebug',  '9.0.6', platform: :mri
end

3.bundle installする
この場合、本番用のgem (この場合はpg gem) をローカルの環境にはインストールしないようにするために、bundle installに特殊なフラグ「--without production」を追加して実行する。

$ bundle install --without production

4.Gitでアプリケーションをバージョン管理下に置く。

$ git init
$ git add -A
$ git commit -m "Initialize repository"

Gitで新しいリポジトリを作成し、生成したファイルをこの新しいリモートリポジトリにプッシュします。

$ git remote add origin https://github.com/<username>/hello_Heroku.git
$ git push -u origin master

5.Herokuの会員登録
Herokuの公式ページで会員登録を行う。
Heroku内でheroku toolbeltというツールをインストールする。

6.ターミナルでHerokuにログインする

$ heroku login

7.Herokuサーバーにサンプルアプリケーションの実行場所を作成する。

$ heroku create

8.GitでHerokuにリポジトリをプッシュする。

$ git push heroku master

これでデプロイ完了。

参考サイト

herokuとは?概要や特徴をわかりやすく解説
Ruby on Rails チュートリアル

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした