• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
RVM with Server Environment
 

RVM with Server Environment

on

  • 1,206 views

サーバ環境で使うRVM

サーバ環境で使うRVM
Kanazawa.rb #8 での発表原稿

Statistics

Views

Total Views
1,206
Views on SlideShare
1,037
Embed Views
169

Actions

Likes
3
Downloads
2
Comments
0

1 Embed 169

https://twitter.com 169

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    RVM with Server Environment RVM with Server Environment Presentation Transcript

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