Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Heroku導入メモ

#Heroku導入メモ

Heroku | Cloud Application Platform

Resouces

##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: hoge@example.com
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/ | git@heroku.com: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 git@heroku.com:hogehoge.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com: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
@pkoonn

This comment has been minimized.

Copy link

commented Sep 2, 2016

ルートの設定等は特にいらないのですか?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.