#Heroku導入メモ
→ Heroku | Cloud Application Platform
- 知っておきたい!Herokuを使う上では当たり前?の16の常識 | blog.mah-lab.com
- デザイナーもHerokuを使ってみよう!Herokuを使って静的ページを無料で作る - KUROIGAMEN(黒い画面)
##Herokuとは?
AWSのIaaS上に構築されたPaaSで、Gitでデプロイできたり、Webアプリの開発から公開までがミラクルスペシャルウルトラスーパーメガトン簡単にできるプラットフォーム。
Google App Engine、Force.com、Windows AzureのRuby版って感じのアレ。
無料で使えるスペースがあって、その範囲だけでも十分足りる。レンサバの無料スペースのイメージだけど、広告が出たりはしない。
独自ドメインを当てたりすることもできるので、小規模サイトや個人ブログ程度にも使える。
##無料部分のスペック
###容量: 200MB
Herokuにファイルをデプロイするときに、Heroku側でファイルを圧縮してくれる。
その圧縮された状態で200MBまで利用可能。
容量にgitやgem関連のファイルは含まれない。
圧縮後のファイルサイズ(Slug Size)は、デプロイしたときや管理画面から確認できる。
詳しくはこの辺を参照。
→ Slug Compiler | Heroku Dev Center
###その他
※調べるのめんどくなったんちゃうで!ちゃうで!
データベースやメモリーなどその他情報については、以下のページもしくは、Heroku Dev Centerを参照。
→ Heroku で無料でできることできないこと - 君の瞳はまるでルビー - Ruby 関連まとめサイト
ちなみにDev Centerは英語で書かれていること以上にむっちゃわかりにくいねんけど、なんと日本語訳プロジェクトがあるらしい。
(CSS RadarのYuya Saitoさんが教えてくれました。)
→ Home · herokaijp/devcenter Wiki
##利用可能言語
元々はRuby専用だったけど、今は以下もいける。
- Ruby
- Java
- Python
- Clojure
- Scala
- Node.js
- Play
詳しくは以下のページを参照。
→ Languages | Heroku Dev Center
##セットアップ
###1. アカウント登録
Herokuの「Sign up」ボタンからアカウント登録する。
###2. Heroku用アプリケーションのインストール
heroku toolbeltというHeroku用コマンドラインツールや開発、デプロイに使うアプリケーション一式を環境に合わせたものを選択してインストール。
###3. アカウント認証
toolbeltがインストールできたら、以下でアカウントを認証する。
認証にGitHubみたいにSSHキーが必要なので一緒に作る。(以下の5行目以降のところ)
$ heroku login
Enter your Heroku credentials.
Email: [email protected]
Password:
Could not find an existing public key.
Would you like to generate one? [Yn]
Generating new SSH public key.
Uploading ssh public key /Users/hoge/.ssh/id_rsa.pub
##Herokuにデプロイ
###1. 適当になんか作る
公式のサンプルもある。(以下)
$ git clone git://github.com/heroku/ruby-sample.git
###2. ローカルリポジトリを作る
Herokuへのデプロイは、アプリケーションごとのGitリポジトリにコミットすることで行う。
アプリのルートディレクトリで、Gitのローカルリポジトリを作成。そしてルートディレクトリ以下のファイルを、全て追加およびコミット。
$ cd ~/myapp
$ git init
$ git add .
$ git commit -m "first commit"
###3. Herokuにアプリを作る
Herokuに新しいアプリケーションを作成。自動的にそのリポジトリがローカルに登録される。
$ heroku create
Creating xxxx-xxxx-xxx... done, stack is cedar
http://xxxx-xxxx-xxx.herokuapp.com/ | [email protected]:xxxx-xxxx-xxx.git
Git remote heroku added
このとき、上記のようにheroku create
の後ろに指定がないとHeroku側で勝手に適当なアプリ名が付けられる。
自分で名前を付けたい場合は、以下で。
$ heroku create hogehoge
###4. Herokuにプッシュ
Herokuに作ったアプリをプッシュする。
$ git push heroku master
このときこんなエラーが出ることがある。
ググると、プロジェクトディレクトリにindex.phpがないのが原因らしい。
$ git push heroku master
-----> Heroku receiving push
! Heroku push rejected, no Cedar-supported app detected
To [email protected]:hogehoge.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:hogehoge.git'
適当にindex.phpを作って、コミットした後もう一度プッシュしたらいける。
$ touch index.php
$ git add index.php
$ git commit -m "add index.php"
$ git push heroku master
###5. ブラウザで確認
heroku create
時に出力されたURL(アプリ名.herokuapp.com)にブラウザからアクセスする。
以下のコマンドでも開く。
$ heroku open
ルートの設定等は特にいらないのですか?