Successfully reported this slideshow.
Your SlideShare is downloading. ×

RVM with Server Environment

Ad

サーバ環境で使うRVM
                  株式会社クルウィット
                  井澤 志充

                  Kanazawa.rb #8




                   ...

Ad

RVMとは?
   •   RVM:  Ruby  Version  Manager
   •   公式サイト:  https://rvm.io/

   •   複数のバージョンのRubyを使い分けることが出来る仕組
       み
   ...

Ad

「安心・安全・安定・信頼」できるインターネットサービスを   3
13年4月20日土曜日

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Upcoming SlideShare
Azure Bastion の紹介
Azure Bastion の紹介
Loading in …3
×

Check these out next

1 of 16 Ad
1 of 16 Ad
Advertisement

More Related Content

Advertisement

RVM with Server Environment

  1. 1. サーバ環境で使うRVM 株式会社クルウィット 井澤 志充 Kanazawa.rb #8 「安心・安全・安定・信頼」できるインターネットサービスを 13年4月20日土曜日
  2. 2. RVMとは? • RVM:  Ruby  Version  Manager • 公式サイト:  https://rvm.io/ • 複数のバージョンのRubyを使い分けることが出来る仕組 み • 複数のgemsetも使い分けれます 「安心・安全・安定・信頼」できるインターネットサービスを 2 13年4月20日土曜日
  3. 3. 「安心・安全・安定・信頼」できるインターネットサービスを 3 13年4月20日土曜日
  4. 4. Jewelry Box • RVM公式の  OSX版  RVM  GUIインタフェース • 公式サイト:  http://jewelrybox.unfiniti.com/ • RVM環境のステータス確認やメンテナスなどが簡単にで きる • なんかいろいろできるらしいっすー 「安心・安全・安定・信頼」できるインターネットサービスを 4 13年4月20日土曜日
  5. 5. 「安心・安全・安定・信頼」できるインターネットサービスを 5 13年4月20日土曜日
  6. 6. 「安心・安全・安定・信頼」できるインターネットサービスを 6 13年4月20日土曜日
  7. 7. サーバ環境で使う利点 •新しいバージョンのRuby/Gemへの容易易なアップグレード が可能 • セキュリティフィックスなど • 複数のバージョンの共存 • ⼀一つにサーバに複数のアプリ(サービス) →RVMを介することで、コードの改修なしに追従可能 「安心・安全・安定・信頼」できるインターネットサービスを 7 13年4月20日土曜日
  8. 8. RVMのインストール • インストール方法は3種類 • Single-User install • ユーザ個人用に、~/.rvm へ installされる • Multi-User install • システム全体用に、/usr/local/rvm へinstall される • Mixed-User install • multi-Userでinstallされたものをベースに個人で使 う部分を別途、追加/Overrideして使うモード 「安心・安全・安定・信頼」できるインターネットサービスを 8 13年4月20日土曜日
  9. 9. RVMのしくみ • Shell-‐‑‒Scriptのかたまり • 環境変数・Shell変数を適宜設定して、使うRuby/Gemを 変更更している • $PATH,  $GEM_̲HOME,  $GEM_̲PATH,など • 上記の適宜設定の部分を手動でやっても使うことができ るということ 「安心・安全・安定・信頼」できるインターネットサービスを 9 13年4月20日土曜日
  10. 10. RVMの使い方 • 使⽤用するrubyの切切り替え • rvm  use  <ruby-‐‑‒version> • エイリアスの設定 • rvm  alias  create  <alias>  <origin> • gemsetの設定 • rvm  gemset  create  <gemset> • rvm  use  <ruby>@<gemset> 「安心・安全・安定・信頼」できるインターネットサービスを 10 13年4月20日土曜日
  11. 11. サーバ環境で使う方法 今回のポリシとして… • サービスアプリごとに専⽤用のユーザを作成する • アプリユーザのSingle-‐‑‒User  installで利利⽤用する • 全てのプロセスは、アプリユーザが実効ユーザであるよ うにする 「安心・安全・安定・信頼」できるインターネットサービスを 11 13年4月20日土曜日
  12. 12. rc.d/init.d Scriptの場合 #!/usr/local/bin/bash start() { echo -n "Starting hogeapp: " su app_user -c "source /home/app_user/.rvm/scripts/rvm; cd /home/app_user/hogeapp; bin/unicorn_rails -c config/unicorn.rb - E production -D" return 0 } stop() { kill -INT `cat ~app_user/hogeapp/tmp/pids/unicorn.pid` return 0 } case "$1" in start) start ;; stop) stop ;; esac 「安心・安全・安定・信頼」できるインターネットサービスを 12 13年4月20日土曜日
  13. 13. milterとかexploder系 • magicで直接  Rubyを呼ぶものの場合: #!/home/app_user/.rvm/rubies/default/bin/ruby # -*- coding: utf-8 -*- require 'mail' require 'nokogiri' : : 「安心・安全・安定・信頼」できるインターネットサービスを 13 13年4月20日土曜日
  14. 14. ポイントは… • コード側からは  rvm  の  “default”  を利利⽤用 • 利利⽤用したい環境を”default”にしておくこと • rvmのdefaultを切切り替えるとそのまま追従する • rvmなので切切り替え前に実サーバ上で、前環境を壊さず にテスト可能 • 失敗しても元に戻れる  →  重要 • rvm  wrapper  コマンドは、バージョン@gemset直接指 定しているのでいまいち 「安心・安全・安定・信頼」できるインターネットサービスを 14 13年4月20日土曜日
  15. 15. まとめ • サーバ環境にもrvmを使うのおすすめ • rubyのセキュリティfix対応などが楽にできるよ • 複数のアプリケーションごとに別バージョンのruby を共存できるよ 「安心・安全・安定・信頼」できるインターネットサービスを 15 13年4月20日土曜日
  16. 16. • Thank  You! • If  you  have  any  comments, • please  send  to: • Mail:  izawa@izawa.org  /  izawa@clwit.co.jp • Twitter:  @Yukimitsu_̲Izawa 「安心・安全・安定・信頼」できるインターネットサービスを 16 13年4月20日土曜日

×