今回はherokuに作成したアプリケーションをデプロイします。
公式ではHeroku Toolbeltを使用していますが、これだとOS標準のRubyパッケージもインストールされます。
すでにRubyはrvmでインストールしているので、ここでは従来のgemのherokuをインストールします。 こちらにもあるように、gemパッケージはこれまでどおり提供し続け、Heroku ToolbeltはPythonやJavaなど他言語を使用する方へ向けてのことです。
$ gem install herokuSSH鍵を生成して登録します。
$ ssh-keygen -t rsa $ heroku kyes:add認証が通るか確認してみましょう。Authentication successful.と表示されればOKです。
$ heroku loginhreokuの起動に必要なファイルを編集していきます。
. ├── config │ ├── mongoid.yml │ └── unicorn.rb ├── config.ru ├── .gitignore # 追加 ├── Gemfile ├── Gemfile.lock ├── Guardfile ├── lib │ ├── app.rb │ └── models.rb ├── Procfile # 追加 ├── public ├── spec │ ├── app_spec.rb │ └── spec_helper.rb └── views ├── index.slim ├── layout.slim └── style.scss
$ gem install foreman
Procfile
web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb
$ foreman startまずはこれで正しく起動できて、ブラウザから期待する表示ができているか確認してみます。
gitリポジトリを生成します。
$ git init $ heroku create --stack cedar通常だと、このあとファイルを追加するのですがherokuのMongoHQを使用するためにもうひと手間かけます。
$ heroku addons:add mongohq:free各所で書かれていますが、My AccountのBilling Infoを登録しておかないとフリー版であっても使用することができません。
Procfile
web: bundle exec unicorn -p $PORT -c ./config/unicorn.rb -E production
mongoid.yml
development: host: localhost database: mydb production: uri: <%= ENV['MONGOHQ_URL'] %>ローカルでproduction環境を確認したいときは、環境変数にMONGOHQ_URL='mongodb://localhost/mydb'などと設定すればよいです。
.gitignore
coverage .sass-cache
$ git add . $ git commit -m "init" $ git push heroku master正しく起動するとデプロイ先のURLが表示されるので、ブラウザでアクセスしてみましょう。
この時点でMongoHQのドキュメントは空なので、HerokuのMy App - Resources - Add-onsからMongoHQに適当なデータを入れると、MongoDBの部分も動作を確認することができます。
テストでアップロードしたサーバをそのまま放置しておくのも何なので
$ heroku maintenance:onなどとして、使わないときはメンテナンスモードにしておくのも手でしょう。
0 件のコメント:
コメントを投稿