読者です 読者をやめる 読者になる 読者になる

プログラミング初心者がウェブアプリを公開する方法

sinatra(シナトラ)アプリをheroku(ヘロク)にデプロイする方法を書きます。

 

Rubyを学びはじめて2か月くらいの頃、最初につくったアプリをウェブ上で公開するためherokuにデプロイしました。

herokuは簡単に利用できるといった解説が多いですがプログラミング初心者だとすんなりことがはこびません。わたしがそうでした。

なので、そのときつまずいたところをツールと流れにわけてまとめてみました。herokuにデプロイするためには作業の順番が大事です。ひととおり流れをつかんでからツールのインストールなりその他の作業にかかることをおすすめします。

ここにでてくる単語は検索すればすぐに見つかるものばかりです。詳しい解説は個別に調べて得てください。

 

まずは使うツールです。

 

sinatra

sinatraはウェブアプリをつくるRubyフレームワークです。

どんなに小さなプログラムのアプリでも何らかのフレームワークをつかったほうがWeb上で運営するには楽ですしセキュリティー対策にもなります。

sinatraのつかい方は比較的簡単です。ドットインストールなんかを見るだけでおおむねわかります。ちなみにドットインストールとはプログラミングレッスン用の動画サイトです。

 

git(ギット)

gitはファイルを管理してくれるソフトです。プログラミング関連の記事によくでてくるので初心者でも見かけたことぐらいはある単語だと思います。わたしもちょくちょく見かけてはいましたが、独りで小さなプログラムをつくるかぎりでは必要ないと思っていました。しかしherokuのデプロイにはgitが必要です。

 

bundler(バンドラー)

bundlerはRubyのgemです。gemのバージョン管理をしてくれるgemです。小さなプログラムをつくっているうちはありがたみを感じませんが、herokuでアプリを運営するとなると必要です。つかい方を学びましょう。

 

次に流れです。

 

最初にアプリ開発(制作)用にディレクトリ(フォルダー)をつくります。以後、アプリ関連のファイルはすべてこの中につくります。ディレクトリの位置は変えない方がいいのでつかいやすい場所につくりましょう。

 

bundle init

コンソール(windowsコマンドプロンプトmacのターミナル)でcdコマンドをつかってアプリ開発ディレクトリへ移動します。

移動できたらそこでbundle initと打ち込みbundlerイニシャライズします。

そうすると開発用のディレクトリ内にGemfileが自動でつくられます。以後、アプリにつかうgemをインストールする際はそのGemfileをつかいます。すでにインストールしてあるgemもGemfileに記入してbundle installします。そうするとGemfile.lockファイルが開発用のディレクトリ内にやはり自動でできます。これらGemfileとGemfile.lockファイルはアプリのファイルと一緒にherokuにデプロイするものです。特にGemfileは添付しないとherokuがアプリを受け付けてくれません。

 

 

sinatraを利用してアプリを完成させます。

 

 

config.ru(コンフィグラックアップ)ファイルをつくる。

アプリができたらエディターで

require './myapp.rb'

run Sinatra::Application

(注意:myapp.rbのところは自分がつくったアプリファイルの名前を記入します。)

と記入してconfig.ruという名前をつけ、開発用のディレクトリに保存します。このファイルもアプリのファイルと一緒にherokuにデプロイします。

 

git init

ファイルがすべてそろったらコンソールで開発用のディレクトリへ移動しgit initと打ち込みgitイニシャライズします。

開発用のディレクトリをgitイニシャライズしたあとは、gitの流儀にのっとってファイルを管理していく必要があるので注意してください。その点をふまえれば、git initはもっと早い段階ですませ、gitを積極的につかってもかまいません。

 

herokuのアカウントをとる。

herokuのアカウントも早い段階で取得してもかまいませんが、後述するheroku createはgit initのあとにした方がいいです。

 

herokuにアプリをつくる。

コンソールで開発用のディレクトリに移動してからherokuにログインしてheroku createします。

これでアプリ開発ディレクトリとherokuが自動的にひもづきます。git initしたあとにそのディレクトリからheroku createすることが大切です。あとからでもherokuとgitをひもづけることは可能ですが余計な手間となります。

 

herokuにアプリをデプロイする。

コンソールでアプリ開発ディレクトリに移動して、

git add . 

git commit -m "コメント"

git push heroku master

(注意:コメントの内容は自由です。)

でデプロイが成功するはずです。