先日素振りがてら、個人の小さな Rails リポジトリを Dockerize しました。
https://github.com/masutaka/github-organization-watcher/pull/45
現在クローズドβの CircleCI 2.0 は Docker 前提らしいので、これも素
振りがてら移行してみました。
https://github.com/masutaka/github-organization-watcher/pull/48
CircleCI 2.0 はここから申請すれば、すぐ使えるようです。
https://circleci.com/beta-access/#request-access
《続きを読む》
先日、ついに DynamoDB に TTL が実装されました。
新機能 – TTL(Time to Live)機能を利用したDynamoDBアイテムの管理について|Amazon Web Services ブログ
仕事では Rails4 のセッションストアに ElastiCache for Redis を使っ
ているのですが、[2016-10-24-1] に書いたとおり、スケールが辛いです。
作業自体もそうですし、ElastiCache for Redis はスケールアップのみで
スケールアウトが出来ません。CPU パワーじゃなくてストレージが欲しい
のじゃ...。
DynamoDB はインスタンスの管理が不要なため、もし移行出来たらとって
もうれしいです。お値段も ElastiCache よりずっと安そうです。
https://aws.amazon.com/jp/dynamodb/pricing/
いろんな期待を込めて、ちょっと触ってみました。
《続きを読む》
※ 弊社 feedforce で毎週行っている、インフラ共有会を元にした記事で
す。AWS で Rails を使っている方を想定していますが、数人規模のチー
ムを意識した内容になっています。
こちらの記事で yaml_vault を知ったので、実際に試してみました。
yaml_vault+KMSでRailsアプリのconfig/secrets.ymlを暗号化してgitにコミットして管理する - Qiita
《続きを読む》
Herokuボタンがリリースされました。
Heroku|Introducing Heroku Button
詳しくはnaoyaさんの記事をどうぞ。
Deploy to Heroku / Webアプリケーションのポータビリティ再び - naoyaのはてなダイアリー
ざっくり言うと、これだけでGitHubの任意のブランチをHerokuにデプロイ出来ます。
- GitHubにHerokuで動くコードを置く
- 上記リポジトリのrootにapp.jsonを追加する
- README.mdにHerokuボタンを追加する
もちろんHerokuアカウントは必要です。
《続きを読む》
最近またSpringを使い始めたんですが、相変わらずモデルやコントローラ
を変更してもSpringは検知しませんよね?みんなどうしているんだろう?
files in the app directory are not being watched · Issue #115 · rails/spring
このIssueによると、そもそもRailsのリロードはコストが高いため、
Springはリロードが必要ない設計にしているそう。
うーん、、、とは言ったものの実際問題、モデルのメソッドを修正した後
テストを走らせても、変なエラーが出て、手動でリロードさせると直ると
いうことが多々あります。
《続きを読む》
使っているのはこんな環境です。
- HerokuにRailsのProductionとStaging環境がある。
- Stagingで任意のブランチを動かしたいことがある。
今までHerokuにデプロイする時はこうしてましたが、
$ git push prod master
今後はこのようになりました。
$ bundle exec rake deploy:prod
Dryrunも出来ます。
$ bundle exec rake deploy:prod DRYRUN=1
Stagingで任意のブランチを動かしたい時はこちら。
$ bundle exec rake deploy:staging BRANCH=<any-branch>
《続きを読む》
Upgrading to Rails 4 を読んだ - HsbtDiary(2013-10-26)
遅ればせながら着手。。
あらかじめKindlegenをインストールしておきます。Amazonからダウンロー
ドしてきても良いですが、Homebrewもお手軽でよいと思います。
私のHomebrewはBoxenでインストールしたので[2013-11-23-1]、kindlegen
をmodules/people/manifests/masutaka.ppに追加してインストールしました。
素のHomebrewの方は、初めにhomebrew-binaryをインストールする必要があ
るみたいです。バイナリファイルの扱いが少し変わったんですね。
$ brew tap homebrew/binary
$ brew install kindlegen
公開されている書籍をGitHubから持ってきて、kitabuで変換するだけです。
$ git clone git@github.com:alindeman/upgradingtorails4.git
$ bundle install --path vendor/bundle
$ bundle exec kitabu export
$ ls output/
tmp upgradingtorails4.epub upgradingtorails4.html upgradingtorails4.mobi
kitabuが生成するファイルはepubとhtmlファイルですが、Kindlegenがイン
ストールされていると、mobiファイルも作ってくれるみたいです。もちろ
ん手動で`kindlegen upgradingtorails4.epub`して作ることも出来ます。
あとは、mobiファイルをUSB接続やメールでKindleに転送し、epubファイル
をiBookにドラッグアンドドロップするだけです。
Railsで簡単なアプリをscaffoldで作ってHerokuにデプロイするまで #heroku #PostgreSQL #Rails #Ruby - Qiita
Rails力がそこそこついてきたので、こちら試したら案外簡単にできました。
年末に別な記事で試した時はギブアップしたのですが。orz
Herokuアプリ: http://sample-masutaka.herokuapp.com/
GitHub: https://github.com/masutaka/rails.sample/
基本、記事の通りで大丈夫ですが、最初からRailアプリを作ったことがな
かったので、ちょっとだけハマりました。
アプリ名のディレクトリ(今回はsample)作って、cdしました。
次にRails gemをインストールしました。Gemfileを作って"bundle
install"実行です。今回は.bundle/configを作って、ローカルのgemは
vender/gems以下にインストールされるようにしました(Heroku上では強制
的にvendor/bundle以下にインストールされるみたい)。
https://github.com/masutaka/rails.sample/commit/e69e24db750b97576a67d62c1e526b8dc57e5f09
最後に"bundle exec rails new ."を実行すれば、Rails環境がセットアッ
プされます。"Could not find gem 'jquery-rails"というエラーが発生し
ましたが、"bundle install"したら問題なさそうでした。
https://github.com/masutaka/rails.sample/commit/fffc748ce3ddf86c286b0ec3515ddc6792b1061c
この状態で"./script/rails s"すると、http://localhost:3000 にアクセ
ス出来るようになります。
記事の通りに"heroku create sample-masutaka"でアプリを作り、
git push herku masterすればデプロイ完了です。
ちなみにアプリを作ると"git remote add heroku .."されるため、
"git push heroku master"出来るようになります。
"git remote -v show"で確認出来ますね。
記事の通りにDBを指定しなかったので、sqlite3関連でエラーになってしま
いました。Herokuではsqlite3使えないのですね。production環境のDBを
postgreSQLにして解決しました。
https://github.com/masutaka/rails.sample/commit/a73fa5cd3b10dd8a47d1daf6b8483051db257374
http://sample-masutaka.herokuapp.com/ にアクセス出来ました。
以下を実行するだけで http://localhost:3000/articles から記事を書け
るようになります。Railsはすげーなあ。
% ./script/rails g scaffold article title:text text:text
% bundle exec rake db:migrate
https://github.com/masutaka/rails.sample/commit/f4ad98c41877341c410f1ece50b83e459fe1a417
問題なさそうなので、"git push heroku master"でHerokuにデプロイしま
したが、PostgreSQL関係でエラーになってしまいました。
config/database.ymlのproductionがsqlite3のままなので当然ですね。
herokuでRails3.2のアプリケーションを動かす - のほほん女子大生のインタラクション日記
こちらを参考に設定しました。DBのホスト名やユーザ名、パスワードはア
プリのResourcesにあるHeroku Postgres Dev :: Grayに書いてあります。
https://github.com/masutaka/rails.sample/commit/bcd3d018ecb14a6354a504648565c9afd3276064
(当然ですが、pushしたcommitでは伏せ字にしてます。)
http://sample-masutaka.herokuapp.com/articles にアクセスしてもまだ
エラーになります。migrationしてないからですね。
"heroku run rake db:migrate"したらアクセス出来るようになりました。
やった!
Rails使いよspork, zeusからspringへ!|Act as Professional - hiroki.jp
ようやくspringを試しました。
まだzeusからは乗り換えられないかなー。開発は活発みたいなので、もう
少ししたらまた試します。以下、詳細。
テストを走らせたら、盛大にレッドになった。ちょっと調べたところ、
1と2要因がほとんど。他にもあったかも知れない。3も困るかなあ。
※ この例ではLifeモデルはUserモデルのhas_oneです。
以下のように直す必要がありました。まあ、直せば良いんですけどね。
# 修正前 let(:taro) { FactoryGirl.create :taro_full_profile } let(:life_1) { FactoryGirl.build :life_1, user: taro } # 修正後 let(:taro) { FactoryGirl.create :taro_full_profile } let(:life_1) { FactoryGirl.build :life_1, user_id: taro.id }
これが致命的でした。beforeとかでスタブを設定しても効きませんでした。
before { Life.any_instance.stub(:fun?).and_return false }
手動でbundle exec spring stopする必要がありました。
Ruby 2.0 & Rails 4.0先取りセミナー : ATND
Rubyの勉強会に来たのは今回が初めて(Ruby Kaigi[2011-07-21-1]はお祭り
ですからね)。
Ruby2.0もRails4.0もほぼ知識ゼロで来ました。Ruby2.0は前日rbenvでイン
ストールしましたけど。
本当に重たい変更は1.9で済ませたそうなので、2.0への移行はすぐ出来る
とのこと。実際互換性も問題ないらしい。あと、requireが高速化されたの
で、Railsとかのライブラリたくさん読み込むプロジェクトが2.5倍とか速
くなるらしい。
Rails4.0もRuby1.8を捨てた影響で速くなるとのこと。こちらも互換性は問
題ないそう。
で、こちらが開発中のRails4.0でアプリを作ったお話。Rails初めて使った
のに開発版でやっちゃうんですか。。いろいろハマったのは開発版だった
から。リリースされたらそんなことないとのこと。
Rails4 in Action - delirious thoughts