今回は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 件のコメント:
コメントを投稿