herokuでsinatraアプリをデプロイしてみた

久々に使いたくなってさわってみたら忘れてたのでメモ。

herokuコマンドインストール

gemでインストールしたらHeroku Toolbelt使えって言われたのでダウンロードしてインストール。
foremanとかも一緒に入るみたいです。

$ gem install heroku
...
...
 !    The `heroku` gem has been deprecated and replaced with the Heroku Toolbelt.
 !    Download and install from: https://toolbelt.heroku.com
 !    For API access, see: https://github.com/heroku/heroku.rb

SSH鍵再登録

SSHの鍵も新しい鍵にしていたので登録しなおします。

$ heroku login
$ heroku keys:clear
$ heroku keys:add

簡単なSinatraアプリを作る

Gemfile:

source "https://rubygems.org"

gem "sinatra"

Procfile:

web: bundle exec rackup config.ru -p $PORT

sample.rb:

require "bundler/setup"
require "sinatra/base"

class Sample < Sinatra::Base
  get "/" do
    "Hello Heroku"
  end
end

config.ru:

$:.unshift(File.dirname(__FILE__))

require "sample"

run Sample

.gitignore:

.bundle

ローカルで起動してみる:

$ foreman start

デプロイしてみる

$ git init
$ git add .
$ git commit -m "first commit"
$ heroku create
$ git remote -v
$ git push -u heroku master
$ heroku open