herokuとテスト環境
こんばんわ。
どっかの記事で「herokuにはテスト環境がある」って見かけて
後回しにしてたんですが、よくよく調べてみると
ブランチ切ってherokuにテスト用のプロジェクト作って投げる
って流れでした
実際にやってみたよ
テスト用のブランチ作成 & 選択
% git branch * master % git branch test % git branch * master test % git checkout test Switched to branch 'test'
herokuにテスト用のプロジェクト登録
% heroku create APPNAME-test --remote test Creating APPNAME-test... done, stack is cedar http://APPNAME-test.herokuapp.com/ | git@heroku.com:APPNAME-test.git Git remote test added
heroku createするときに--remoteオプションを追加すると
引数の名前でgit remote addしてくれる
% heroku config:add RAILS_ENV=test --app APPNAME-test Setting config vars and restarting APPNAME-test... done, v3 RAILS_ENV: test
この値でtestサーバか否かを判断する
basic認証のusernameとpasswordを環境変数にセットする
heroku config:add BASIC_AUTH_USERNAME="foo" BASIC_AUTH_PASSWORD="bar" --app APPNAME-test
テスト環境にbasic認証をかける
Rails/app/controllers/application_controller.rb
class ApplicationController < ActionController::Base protect_from_forgery http_basic_authenticate_with :name => ENV['BASIC_AUTH_USERNAME'], :password => ENV['BASIC_AUTH_PASSWORD'] if Rails.env.test? end
:nameを:usernameにしたら認証が弾かれてハマった
あとはプッシュすればできあがり
% git commit -am 'create test' % git push test test
参考:
https://devcenter.heroku.com/articles/multiple-environments
ここ見るとstagingって名前使ってるけど
今回はtestにしてみました
おしまい。