アプリ名
belem
バージョン
- Rubyバージョン
ruby -v
----------
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0]
----------
- Railsバージョン
rails -v
----------
Rails 4.0.0
----------
App Setup
作業ディレクトリ移動
cd ~/labo
Railsアプリ作成
- 設定
cat ~/.railsrc
----------
--skip-bundle
--skip-test-unit
----------
- アプリ作成
rails new belem
----------
Using --skip-bundle --skip-test-unit from /Users/shu/.railsrc
create
create README.rdoc
create Rakefile
create config.ru
create .gitignore
create Gemfile
create app
create app/assets/javascripts/application.js
create app/assets/stylesheets/application.css
create app/controllers/application_controller.rb
create app/helpers/application_helper.rb
create app/views/layouts/application.html.erb
create app/assets/images/.keep
create app/mailers/.keep
create app/models/.keep
create app/controllers/concerns/.keep
create app/models/concerns/.keep
create bin
create bin/bundle
create bin/rails
create bin/rake
create config
create config/routes.rb
create config/application.rb
create config/environment.rb
create config/environments
create config/environments/development.rb
create config/environments/production.rb
create config/environments/test.rb
create config/initializers
create config/initializers/backtrace_silencers.rb
create config/initializers/filter_parameter_logging.rb
create config/initializers/inflections.rb
create config/initializers/mime_types.rb
create config/initializers/secret_token.rb
create config/initializers/session_store.rb
create config/initializers/wrap_parameters.rb
create config/locales
create config/locales/en.yml
create config/boot.rb
create config/database.yml
create db
create db/seeds.rb
create lib
create lib/tasks
create lib/tasks/.keep
create lib/assets
create lib/assets/.keep
create log
create log/.keep
create public
create public/404.html
create public/422.html
create public/500.html
create public/favicon.ico
create public/robots.txt
create tmp/cache
create tmp/cache/assets
create vendor/assets/javascripts
create vendor/assets/javascripts/.keep
create vendor/assets/stylesheets
create vendor/assets/stylesheets/.keep
----------
cd belem
Gemfile/Gemインストール
- プロジェクトオープン
subl .
Gemfile
ruby '2.0.0'
gem 'haml-rails'
gem 'minimum-omniauth-scaffold'
gem 'action_args'
gem 'html5_validators'
gem 'puma'
gem 'kaminari'
gem 'rails_config'
gem 'tapp'
gem 'awesome_print'
gem "exception_notification", "~> 4.0.0.rc1"
gem 'i18n_generators'
group :development do
gem 'pry-rails'
gem "rails-erd"
gem 'binding_of_caller'
gem "erb2haml"
gem 'quiet_assets'
end
group :development, :test do
gem "sqlite3"
gem 'rspec-rails'
end
group :production do
gem 'rails_12factor'
gem 'pg'
gem 'newrelic_rpm'
end
# Use sqlite3 as the database for Active Record
#gem 'sqlite3'
bundle install --without production
bundle update
OmniAuth用スキャフォールド作成
rails g minimum:omniauth:scaffold
ローカル用キー設定
※Twitterキー作成後config/settings.local.yml
へ設定
cat config/settings.local.yml
New Relic準備
curl https://raw.github.com/gist/2253296/newrelic.yml > config/newrelic.yml
cat config/newrelic.yml
アプリ名設定
vi config/settings.yml
# アプリケーション名
app_name: "Belem"
# プログラマTwitterID
programmer_twitter_id: "my_twitter_id"
マイグレーション
rake db:migrate
Haml化
- erbを消す
rake haml:replace_erbs
- erbを残す
rake haml:convert_erbs
Railsサーバ起動
rails s puma
----------
=> Booting Puma
=> Rails 4.0.0 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Puma 2.3.2 starting...
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://0.0.0.0:3000
----------
ローカルサイト確認
GitHub
GitHubリポジトリ作成
https://github.com/repositories/new
Repository name
[ belem ]
Description (optional)
[ (description.) ]
※チェック無し:Initialize this repository with a README
Add .gitignore: None
git init && git add . && git commit -m "First commit"
GitHubリポジトリアドレス
HTTP => SSH
GitHubリポジトリプッシュ
git remote add origin git@github.com:MY_NAME/belem.git
git push -u origin master
GitHubリポジトリ
https://github.com/shu0115/belem
Heroku
Herokuアプリ作成
heroku create belem
----------
Creating belem... done, region is us
http://belem.herokuapp.com/ | git@heroku.com:belem.git
Git remote heroku added
----------
Herokuプッシュ
git push heroku master
Twitterアプリ登録
Name: *
[ Belem ]
Description: *
[ (description.) ]
WebSite: *
[ https://belem.herokuapp.com/ ]
Callback URL:
[ https://belem.herokuapp.com/ ]
※必須マークが無いが「Callback URL:」も登録しないと動かない
Heroku環境変数設定
※Production用Twitterキーを作成し環境変数に設定
heroku config:set TWITTER_KEY=********** TWITTER_SECRET=******************************
Heroku設定確認
heroku config | grep "TWITTER"
-----
TWITTER_KEY: **********
TWITTER_SECRET: ******************************
-----
Herokuタイムゾーン設定
heroku config:add TZ=Asia/Tokyo
Herokuアドオンインストール(FREE-Only)
heroku addons:add pgbackups:auto-month
heroku addons:add newrelic:standard
heroku addons:add scheduler:standard
heroku addons:add papertrail:choklad
heroku addons:add loggly:mole
heroku addons:add logentries:tryit
Herokuアドオン確認
heroku addons
----------
=== belem Configured Add-ons
heroku-postgresql:dev HEROKU_POSTGRESQL_CRIMSON
logentries:tryit
loggly:mole
newrelic:standard
papertrail:choklad
pgbackups:auto-month
scheduler:standard
----------
Herokuマイグレーション
heroku run rake db:migrate
----------
Running `rake db:migrate` attached to terminal... up, run.9640
WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.7.6
== CreateUsers: migrating ====================================================
-- create_table(:users)
-> 0.0922s
== CreateUsers: migrated (0.0935s) ===========================================
----------
Herokuページオープン
heroku open
Heroku公開サイト
アイドル防止(NewRelic)
Heroku Apps => Add-ons => New Relic Standard