Skip to content

Instantly share code, notes, and snippets.

@konitter
Last active January 11, 2024 06:46
Show Gist options
  • Star 76 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save konitter/5370904 to your computer and use it in GitHub Desktop.
Save konitter/5370904 to your computer and use it in GitHub Desktop.
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
Copy link

pkoonn commented Sep 2, 2016

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment