Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
仮想クライアント

ひみつシリーズ
概要
目的!!
•
•
•
•

開発環境をローカルに作成したい!
プロジェクト毎の独立した環境!
構築の手間を省力化!
本番と差異無い環境!
Vagrantとは?
• Virtual Boxのフロントエンド
• VirtualBoxは仮想マシン
• 正確には「Virtual Box」+「Vagrant」の複
合
http://www.vagrantup.com/
VirtualBoxとは?
•
•
•
•
•

Oracle製の仮想化ソフト
競合はVM Ware、Parallels等
個人・評価目的・教育利用なら無料
並列同時起動可能
マルチプラットフォーム・マシンイメー
ジ共通(Mac、Windows...
Vagrantとは?(2回め)
• ローカルマシンにOSごと環境を作れる!
• ノートPC、デスクトップ等環境を選ばな
い!
• ホストマシン内にクローズ環境を作れる
ので、ネットワークリソースが枯渇しな
い!
重要
• ロールバックが超簡単!
つまり?
• 個人端末内に簡単に開発環境!
• トライアンドエラーが捗ります!
• 開発・テスト・本番の3ステージ!

コーディング全力投球!!
早期帰宅も夢じゃない!!
自宅でコーディング…つД`)・゚・
実践
アプリインストール
• VirtualBoxをインストール
• Vagrantをインストール

プラットフォーム毎に違うけど、インス
トーラーもあるのでさっさと進もう
初期セットアップ
起動イメージの元になる『原書』を保存
• 『セットアップイメージを置きたいディレクトリ』に移動する(任
意)
• イメージファイルをローカルマシンにダウンロードする
# vagrant box add [BOX名※1] [イメ...
起動準備
作業ディレクトリ準備
『起動イメージ』が『原書』からコピーされる(容
量注意)

•

適当に作業ディレクトリを作って、移動

•

設定ファイルを作る
# vagrant init

•

カレントディレクトリに『Vagrantfi...
マシン起動とか
※作業ディレクトリに移動してから作業して下さい
(カレントディレクトリにあるVagrantfileを参照する為)
起動 (電源ON)
# vagrant up
停止 (電源OFF)
# vagrant halt
サスペンド (休...
仮想マシンに接続
『SSH』と『サービス』でアクセス方法が異なりま
す!
SSH接続(Portが2222に変更されてます)
# SSH localhost 2222
# =>user:root => password:vagrant
サービス接...
補足
PC @1

PC @2
ファイル共有、ping等

SSH・HTTP…

接続不可

仮想マシン間の
接続は可能

Vagrant #1

Vagrant #2

Vagrantは仮想ネットワークの
為、外部PCからの接続は不可
ディスクイメージ受け渡し
プロジェクトとかで、他人にイメージを渡したい
とき

渡す人
–

作業ディレクトリのあるところ(vagrantfileのある所)に移動

–

イメージをつくる

# vagrant package
–

カレントデ...
One More…
• VagrantはPlug-inが有ります
• 『Vagrant sahara』を使うと、環境を一時保存出来ます
• 仮想HDDに書き込んだ内容もあっさりロールバック
• DBへの書き込みやデプロイ等も元通り!
• トライ...
Sandbox使い方
セットアップ(1回やれば終了)
# vagrant plugin install sahara
まず起動
# vagrant up
サンドボックスモード(この時点でコミットされる)
# vagrant sandbox on...
まとめ
• 『一度作ったら大事に使う』時代は終焉
• 環境なんて使い捨て!
• 『ゼロから最新環境を作れる』状態をキープするのが重
• 要
『私の環境では動く』はNGワード!
• 『インフラ構築』⇒『動作環境構築』⇒『デプロイ』⇒
『環境廃棄』...
さいごにひとこと!

個人端末にもっと
メモリ足して!
以上
Upcoming SlideShare
Loading in …5
×

Vagrantのひみつ

1,370 views

Published on

Vagrantの使い方解説です。
Vagrantよくわかんないんですけど?ってときにみるといいと思います!

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Vagrantのひみつ

  1. 1. 仮想クライアント ひみつシリーズ
  2. 2. 概要
  3. 3. 目的!! • • • • 開発環境をローカルに作成したい! プロジェクト毎の独立した環境! 構築の手間を省力化! 本番と差異無い環境!
  4. 4. Vagrantとは? • Virtual Boxのフロントエンド • VirtualBoxは仮想マシン • 正確には「Virtual Box」+「Vagrant」の複 合 http://www.vagrantup.com/
  5. 5. VirtualBoxとは? • • • • • Oracle製の仮想化ソフト 競合はVM Ware、Parallels等 個人・評価目的・教育利用なら無料 並列同時起動可能 マルチプラットフォーム・マシンイメー ジ共通(Mac、Windows、Linux…) https://www.virtualbox.org/
  6. 6. Vagrantとは?(2回め) • ローカルマシンにOSごと環境を作れる! • ノートPC、デスクトップ等環境を選ばな い! • ホストマシン内にクローズ環境を作れる ので、ネットワークリソースが枯渇しな い! 重要 • ロールバックが超簡単!
  7. 7. つまり? • 個人端末内に簡単に開発環境! • トライアンドエラーが捗ります! • 開発・テスト・本番の3ステージ! コーディング全力投球!! 早期帰宅も夢じゃない!! 自宅でコーディング…つД`)・゚・
  8. 8. 実践
  9. 9. アプリインストール • VirtualBoxをインストール • Vagrantをインストール プラットフォーム毎に違うけど、インス トーラーもあるのでさっさと進もう
  10. 10. 初期セットアップ 起動イメージの元になる『原書』を保存 • 『セットアップイメージを置きたいディレクトリ』に移動する(任 意) • イメージファイルをローカルマシンにダウンロードする # vagrant box add [BOX名※1] [イメージファイルのある場所※2] ※1…適当に命名しておk ※2…『httpダウンロード』とか『ローカルファイルを直指定』とか結構自由 • 作業ディレクトリに『.vagrant.d』というディレクトリができてる • 『.vagrant.d/boxes』以下にさっき指定したイメージファイルが置い てある • 今後は『BOX名』しか使わないので、こまかいことはきにしない
  11. 11. 起動準備 作業ディレクトリ準備 『起動イメージ』が『原書』からコピーされる(容 量注意) • 適当に作業ディレクトリを作って、移動 • 設定ファイルを作る # vagrant init • カレントディレクトリに『Vagrantfile』が作られたのを確認 # ls –al | grep Vagrantfile • テキストの中身を確認して、一部書き換え ※ここで『BOX名』を使う config.vm.box = “[BOX名]” config.vm.network :private_network, ip: "192.168.33.10" ※よくわかんなかったら作業ディレクトリに有るVagrantfileをこれに上書き VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = “[※BOX名※]" config.vm.network :private_network, ip: "192.168.33.11" end
  12. 12. マシン起動とか ※作業ディレクトリに移動してから作業して下さい (カレントディレクトリにあるVagrantfileを参照する為) 起動 (電源ON) # vagrant up 停止 (電源OFF) # vagrant halt サスペンド (休止) # vagrant suspend 環境破壊 (初期化) # vagrant destroy
  13. 13. 仮想マシンに接続 『SSH』と『サービス』でアクセス方法が異なりま す! SSH接続(Portが2222に変更されてます) # SSH localhost 2222 # =>user:root => password:vagrant サービス接続 (ブラウザとかも192.168.33.10でアクセスできます!) # telnet 192.168.33.10 [サービスポート] ※起動マシン以外からのアクセスは不可なので、テスト環境を利用して下さい(他のメンバーとか) ※なんで192.168.33.10で繋がるか不思議な人は、『route PRINT』とか打ってみよう ※実は『ssh 192.168.33.10』でも繋がる
  14. 14. 補足 PC @1 PC @2 ファイル共有、ping等 SSH・HTTP… 接続不可 仮想マシン間の 接続は可能 Vagrant #1 Vagrant #2 Vagrantは仮想ネットワークの 為、外部PCからの接続は不可
  15. 15. ディスクイメージ受け渡し プロジェクトとかで、他人にイメージを渡したい とき 渡す人 – 作業ディレクトリのあるところ(vagrantfileのある所)に移動 – イメージをつくる # vagrant package – カレントディレクトリに『package.box』が作られたのを確認(出力ファイル名は固定※) # ls –al | grep package.box – 受け取る人に対してファイルコピー 受け取る人 – 初期セットアップのイメージが『package.box』になるだけです。(リネーム可) # vagrant box add [BOX名※1] package.box ※1 2回以上イメージを作成する時は、以前の出力ファイルをリネームして下さい
  16. 16. One More… • VagrantはPlug-inが有ります • 『Vagrant sahara』を使うと、環境を一時保存出来ます • 仮想HDDに書き込んだ内容もあっさりロールバック • DBへの書き込みやデプロイ等も元通り! • トライアンドエラーが捗ります! ※ここは鳥取砂丘
  17. 17. Sandbox使い方 セットアップ(1回やれば終了) # vagrant plugin install sahara まず起動 # vagrant up サンドボックスモード(この時点でコミットされる) # vagrant sandbox on 変更コミット # vagrant sandbox commit ロールバック # vagrant sandbox rollback サンドボックス終了(最後にコミットした時点に戻る) # vagrant sandbox off ※sandbox offしないでvagrant haltすると、コミット時点に戻ってからhaltする
  18. 18. まとめ • 『一度作ったら大事に使う』時代は終焉 • 環境なんて使い捨て! • 『ゼロから最新環境を作れる』状態をキープするのが重 • 要 『私の環境では動く』はNGワード! • 『インフラ構築』⇒『動作環境構築』⇒『デプロイ』⇒ 『環境廃棄』のサイクルをいかに省力化するかがポイン ト
  19. 19. さいごにひとこと! 個人端末にもっと メモリ足して!
  20. 20. 以上

×