2014/04/24 shin1x1
DevLOVE関西
Vagrant 体験入門
ハンズオン準備
(c) 2014 Masashi Shinbara @shin1x1
USBメモリから
ファイルコピー
(c) 2014 Masashi Shinbara @shin1x1
Vagrantで作るPHP開発環境
http://www.slideshare.net/shin1x1/xampp-mamp-vagrant-php
(c) 2014 Masashi Shinbara @shin1x1
Vagrantで作るPHP開発環境[実践編]
http://www.slideshare.net/shin1x1/vagrant-php
(c) 2014 Masashi Shinbara @shin1x1
VagrantX
http://shin1x1.github.io/vagrantx/
(c) 2014 Masashi Shinbara @shin1x1
Web開発あるある
エンジニアSさん
(c) 2014 Masashi Shinbara @shin1x1
• Macbook Air で開発
• Apache / PHP / DB
• 複数案件を一台で
エンジニアSさん
(c) 2014 Masashi Shinbara @shin1x1
1162 <VirtualHost *:80>!
1163 ServerName candycane.local!
1164 DocumentRoot "/...
エンジニアSさん
(c) 2014 Masashi Shinbara @shin1x1
1162 <VirtualHost *:80>!
1163 ServerName candycane.local!
1164 DocumentRoot "/...
とある開発チームA
(c) 2014 Masashi Shinbara @shin1x1
• チームで開発
• Macbook / Windows で開発
• Apache / PHP / DB
とある開発チームA
(c) 2014 Masashi Shinbara @shin1x1
あれ?動かない。

何か変なコード書いた?
こっちは動いてるよ。
拡張追加しないとダメだよ。
とある開発チームA
(c) 2014 Masashi Shinbara @shin1x1
あれ?動かない。

何か変なコード書いた?
こっちは動いてるよ。
拡張追加しないとダメだよ。
俺の環境では動く
とある開発チーム新人Cさん
(c) 2014 Masashi Shinbara @shin1x1
ここの手順で開発環境を
構築しておいて。
わかりました!
(c) 2014 Masashi Shinbara @shin1x1
# tar xvzf postgresql-8.3.9.tar.gz!
# mv postgresql-8.3.9 /usr/local/src!
# cd /usr/loc...
(c) 2014 Masashi Shinbara @shin1x1
# tar xvzf postgresql-8.3.9.tar.gz!
# mv postgresql-8.3.9 /usr/local/src!
# cd /usr/loc...
(c) 2014 Masashi Shinbara @shin1x1
# tar xvzf postgresql-8.3.9.tar.gz!
# mv postgresql-8.3.9 /usr/local/src!
# cd /usr/loc...
とある開発チーム新人Cさん
(c) 2014 Masashi Shinbara @shin1x1
あ、あの手順の後、
○○を☓☓して、△△も入れておいて
はあ
とある開発チーム新人Cさん
(c) 2014 Masashi Shinbara @shin1x1
あ、あの手順の後、
○○を☓☓して、△△も入れておいて
はあ
スタートラインは
どこだ
WebデザイナーBさん
(c) 2014 Masashi Shinbara @shin1x1
• WordPressのデザイン
• XAMPPをインストール
• でもなんだか動かない。。。
(c) 2014 Masashi Shinbara @shin1x1
WebデザイナーBさん
(c) 2014 Masashi Shinbara @shin1x1
WebデザイナーBさん
Port 80 は
俺のモノ
そこでVagrant
(c) 2014 Masashi Shinbara @shin1x1
Vagrant?
(c) 2014 Masashi Shinbara @shin1x1
Vagrant?
(c) 2014 Masashi Shinbara @shin1x1
軽量で、再現可能かつポータブルな
開発環境の構築、設定を行う
独立した環境
(c) 2014 Masashi Shinbara @shin1x1
• 仮想環境を使った、独立した環境
• ホストに影響が無い
• プロジェクト毎にクリーンな環境
再現が可能
(c) 2014 Masashi Shinbara @shin1x1
• 構築手順をコードで記述
• コードに添って自動構築
• 全く同じ環境を再現可能
ポータブル
(c) 2014 Masashi Shinbara @shin1x1
• 構築手順コードがあればどこでも構築
• チームで同じ環境を各PCに構築
• コマンド一つ実行するだけ
Vagrant
(c) 2014 Masashi Shinbara @shin1x1
• HashiCorp が開発した OSS(MIT)
• Ruby
• 仮想環境の構築、プロビジョニングを

実行するコマンドラインツール
• 構築手順をコー...
(c) 2014 Masashi Shinbara @shin1x1
Vagrant
仮想環境
仮想マシン構築
Vagrant
CentOS, Ubuntu,	

FreeBSD, etc
(c) 2014 Masashi Shinbara @shin1x1
仮想環境
仮想マシン構築
Vagrant
プロビジョニング
Vagrant
Apache, PHP, 	

MySQL, Redis, etc
(c) 2014 Masashi Shinbara @shin1x1
仮想環境
仮想マシン構築
Vagrant
プロビジョニング
Vagrant
$ vagrant up
Vagrant ワークフロー
(c) 2014 Masashi Shinbara @shin1x1
$ git clone REPO/project!
$ cd project!
$ vagrant up
• 環境構築はこれだけ
• こうなるよ...
vagrant 主なコマンド
(c) 2014 Masashi Shinbara @shin1x1
• 仮想サーバ起動
$ vagrant up
• 仮想サーバへ SSH ログイン
$ vagrant ssh
• 仮想サーバ停止
$ vagra...
(c) 2014 Masashi Shinbara @shin1x1
Vagrantで
おさえておきたい用語
Provider
(c) 2014 Masashi Shinbara @shin1x1
• 仮想環境
• VirtualBox, VMWare, Hyper-V
• AWS, DigitalOcean
Box
(c) 2014 Masashi Shinbara @shin1x1
• 仮想マシンイメージ
• CentOS, Ubuntu, FreeBSD, OSX, etc
• Vagrant Cloud

• Bento - Chef社が作成...
Box
(c) 2014 Masashi Shinbara @shin1x1
• 仮想マシンイメージ
• CentOS, Ubuntu, FreeBSD, OSX, etc
• Vagrant Cloud

• Bento - Chef社が作成...
Provisioner
(c) 2014 Masashi Shinbara @shin1x1
• プロビジョンを実行するツール
• シェル, Chef Solo, Puppet, 

Ansible, Docker, etc
• まずは シェル...
Provisioner
(c) 2014 Masashi Shinbara @shin1x1
If you've never used a configuration
management system before,
it is recomme...
Synced Folder
(c) 2014 Masashi Shinbara @shin1x1
•ホストPCのディレクトリと

仮想サーバのディレクトリを同期
•開発はホストPCで、

実行は仮想サーバで
•PhpStormやEclipseで...
(c) 2014 Masashi Shinbara @shin1x1
$ ls .!
Vagrantfile
$ ls /vagrant!
Vagrantfile
ホストPC
仮想マシン
Synced Folder
Synced Folder
(c) 2014 Masashi Shinbara @shin1x1
• Shared Folder(デフォルト)
• NFS(ホストがNFSサーバになる)
• Rsync(自動でrsync実行)
Vagrantfile
(c) 2014 Masashi Shinbara @shin1x1
• 構築手順を記述したファイル
• このファイルを元に環境構築
• Ruby の DSL
• 分かる人が書けば良い
Vagrantfile
(c) 2014 Masashi Shinbara @shin1x1
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|!
config.vm.box = "ops...
主なユースケース
(c) 2014 Masashi Shinbara @shin1x1
• 検証環境
• 開発環境
• 仮公開環境
(c) 2014 Masashi Shinbara @shin1x1
ハンズオン
(c) 2014 Masashi Shinbara @shin1x1
流れ
1. USBメモリから必要なファイルコピー
2. Qiita に書いた手順でハンズオン
3. 上手く動いたら tweet (#DevKan)
(c) 2014 Masashi Shinbara @shin1x1
手順資料
#DevKan
http://qiita.com/shin1x1/items/
3288d9de7f04192b6ad8
(c) 2014 Masashi Shinbara @shin1x1
Tips
Git で管理
(c) 2014 Masashi Shinbara @shin1x1
• Vagrantfile とプロビジョニング
ファイルをリポジトリへ
• .vagrant/ は .gitignore
• ソースコードリポジトリに同梱
チームで共有
(c) 2014 Masashi Shinbara @shin1x1
• 環境を揃える

VirtualBox

private ip

shared_folder
• Box は、必要最低限な構成

(Bento)
Sahara Plugin
(c) 2014 Masashi Shinbara @shin1x1
• Vagrant Plugin

https://github.com/jedi4ever/sahara
• 仮想サーバの状態を DB の

R...
Sahara Plugin
(c) 2014 Masashi Shinbara @shin1x1
!
$ vagrant plugin install sahara!
• インストール
Sahara Plugin
(c) 2014 Masashi Shinbara @shin1x1
$ vagrant sandbox on
• sandbox モード開始 = BEGIN;
$ vagrant sandbox rollback
...
参考1
(c) 2014 Masashi Shinbara @shin1x1
http://docs.vagrantup.com/v2/
参考2
(c) 2014 Masashi Shinbara @shin1x1
http://www.oreilly.co.jp/books/9784873116655/
参考3
(c) 2014 Masashi Shinbara @shin1x1
http://www.amazon.co.jp/dp/B00F418SQ8
@shin1x1
(c) 2014 Masashi Shinbara @shin1x1
Upcoming SlideShare
Loading in...5
×

Vagrant体験入門

14,446

Published on

2014/04/24 DevLove関西 Vagrant体験入門

Published in: Technology
0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
14,446
On Slideshare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
0
Comments
0
Likes
11
Embeds 0
No embeds

No notes for slide

Vagrant体験入門

  1. 1. 2014/04/24 shin1x1 DevLOVE関西 Vagrant 体験入門
  2. 2. ハンズオン準備 (c) 2014 Masashi Shinbara @shin1x1 USBメモリから ファイルコピー
  3. 3. (c) 2014 Masashi Shinbara @shin1x1 Vagrantで作るPHP開発環境 http://www.slideshare.net/shin1x1/xampp-mamp-vagrant-php
  4. 4. (c) 2014 Masashi Shinbara @shin1x1 Vagrantで作るPHP開発環境[実践編] http://www.slideshare.net/shin1x1/vagrant-php
  5. 5. (c) 2014 Masashi Shinbara @shin1x1 VagrantX http://shin1x1.github.io/vagrantx/
  6. 6. (c) 2014 Masashi Shinbara @shin1x1 Web開発あるある
  7. 7. エンジニアSさん (c) 2014 Masashi Shinbara @shin1x1 • Macbook Air で開発 • Apache / PHP / DB • 複数案件を一台で
  8. 8. エンジニアSさん (c) 2014 Masashi Shinbara @shin1x1 1162 <VirtualHost *:80>! 1163 ServerName candycane.local! 1164 DocumentRoot "/Users/shin/sandbox/demo/candycane/app/webroot"! 1165 </VirtualHost>! 1166 ! 1167 <VirtualHost *:80>! 1168 ServerName demo.local! 1169 DocumentRoot "/Users/shin/sandbox/demo/20140601_phpcon"! 1170 php_value vld.active 1! 1171 </VirtualHost>! 1172 ! 1173 <VirtualHost *:80>! 1174 ServerName evememo.local! 1175 DocumentRoot "/Users/shin/work/1x1/evememo/app/webroot"! 1176 </VirtualHost>! 1177 ! 1178 <VirtualHost *:80>! 1179 ServerName kusaon.local! 1180 DocumentRoot "/Users/shin/work/kusaon/app/webroot"! 1181 </VirtualHost>!
  9. 9. エンジニアSさん (c) 2014 Masashi Shinbara @shin1x1 1162 <VirtualHost *:80>! 1163 ServerName candycane.local! 1164 DocumentRoot "/Users/shin/sandbox/demo/candycane/app/webroot"! 1165 </VirtualHost>! 1166 ! 1167 <VirtualHost *:80>! 1168 ServerName demo.local! 1169 DocumentRoot "/Users/shin/sandbox/demo/20140601_phpcon"! 1170 php_value vld.active 1! 1171 </VirtualHost>! 1172 ! 1173 <VirtualHost *:80>! 1174 ServerName evememo.local! 1175 DocumentRoot "/Users/shin/work/1x1/evememo/app/webroot"! 1176 </VirtualHost>! 1177 ! 1178 <VirtualHost *:80>! 1179 ServerName kusaon.local! 1180 DocumentRoot "/Users/shin/work/kusaon/app/webroot"! 1181 </VirtualHost>! 溢れる VirtualHost
  10. 10. とある開発チームA (c) 2014 Masashi Shinbara @shin1x1 • チームで開発 • Macbook / Windows で開発 • Apache / PHP / DB
  11. 11. とある開発チームA (c) 2014 Masashi Shinbara @shin1x1 あれ?動かない。
 何か変なコード書いた? こっちは動いてるよ。 拡張追加しないとダメだよ。
  12. 12. とある開発チームA (c) 2014 Masashi Shinbara @shin1x1 あれ?動かない。
 何か変なコード書いた? こっちは動いてるよ。 拡張追加しないとダメだよ。 俺の環境では動く
  13. 13. とある開発チーム新人Cさん (c) 2014 Masashi Shinbara @shin1x1 ここの手順で開発環境を 構築しておいて。 わかりました!
  14. 14. (c) 2014 Masashi Shinbara @shin1x1 # tar xvzf postgresql-8.3.9.tar.gz! # mv postgresql-8.3.9 /usr/local/src! # cd /usr/local/src/postgresql-8.3.9! # ./congure {prex=/usr/local/pgsql! # gmake && gmake install! !/usr/local/pgsql/lib/pgxs/cong/install-sh! /bin/sh ../cong/install-sh -c -m 755 ./mkinstalldirs! /usr/local/pgsql/lib/pgxs/cong/mkinstalldirs! !gmake[1]: Leaving directory `/usr/local/src/postgresql-8.3.9/cong'! PostgreSQL installation complete.! !# .bash prole! # Get the aliases and functions! if [ -f ~/.bashrc ]; then! .! ~/.bashrc! !# User specic environment and startup programs! PATH=$PATH:$HOME/bin! PATH=$PATH:/usr/java/jdk1.5.0 21/bin! export PATH! unset USERNAME! export JAVA HOME=/usr/java/jdk1.5.0 21/! export CATALINA HOME=/usr/local/tomcat! export CLASSPATH=$CLASSPATH:$CATALINA HOME/common/lib! export CATALINA OPTS="-server -Xms512m -Xmx512m -Xss512k -XX:PermSize=64m -XX:MaxPermSize=64m"! !# tar xvzf postgresql-8.3.9.tar.gz! # mv postgresql-8.3.9 /usr/local/src! # cd /usr/local/src/postgresql-8.3.9! # ./congure {prex=/usr/local/pgsql! # gmake && gmake install! !/usr/local/pgsql/lib/pgxs/cong/install-sh! /bin/sh ../cong/install-sh -c -m 755 ./mkinstalldirs! /usr/local/pgsql/lib/pgxs/cong/mkinstalldirs! !gmake[1]: Leaving directory `/usr/local/src/postgresql-8.3.9/cong'! PostgreSQL installation complete.! !# .bash prole! # Get the aliases and functions! if [ -f ~/.bashrc ]; then! .! ~/.bashrc! !# User specic environment and startup programs! PATH=$PATH:$HOME/bin! PATH=$PATH:/usr/java/jdk1.5.0 21/bin! export PATH! unset USERNAME! export JAVA HOME=/usr/java/jdk1.5.0 21/! export CATALINA HOME=/usr/local/tomcat! export CLASSPATH=$CLASSPATH:$CATALINA HOME/common/lib! export CATALINA OPTS="-server -Xms512m -Xmx512m -Xss512k -XX:PermSize=64m -XX:MaxPermSize=64m"! とある開発チーム新人Cさん
  15. 15. (c) 2014 Masashi Shinbara @shin1x1 # tar xvzf postgresql-8.3.9.tar.gz! # mv postgresql-8.3.9 /usr/local/src! # cd /usr/local/src/postgresql-8.3.9! # ./congure {prex=/usr/local/pgsql! # gmake && gmake install! ! /usr/local/pgsql/lib/pgxs/cong/install-sh! /bin/sh ../cong/install-sh -c -m 755 ./mkinstalldirs! /usr/local/pgsql/lib/pgxs/cong/mkinstalldirs! ! gmake[1]: Leaving directory `/usr/local/src/postgresql-8.3.9/cong'! PostgreSQL installation complete.! ! # .bash prole! # Get the aliases and functions! if [ -f ~/.bashrc ]; then! .! ~/.bashrc! ! # User specic environment and startup programs! PATH=$PATH:$HOME/bin! PATH=$PATH:/usr/java/jdk1.5.0 21/bin! export PATH! unset USERNAME! export JAVA HOME=/usr/java/jdk1.5.0 21/! export CATALINA HOME=/usr/local/tomcat! export CLASSPATH=$CLASSPATH:$CATALINA HOME/common/lib! export CATALINA OPTS="-server -Xms512m -Xmx512m -Xss512k -XX:PermSize=64m -XX:MaxPermSize=64m"! とある開発チーム新人Cさん これやるの・・・
  16. 16. (c) 2014 Masashi Shinbara @shin1x1 # tar xvzf postgresql-8.3.9.tar.gz! # mv postgresql-8.3.9 /usr/local/src! # cd /usr/local/src/postgresql-8.3.9! # ./congure {prex=/usr/local/pgsql! # gmake && gmake install! ! /usr/local/pgsql/lib/pgxs/cong/install-sh! /bin/sh ../cong/install-sh -c -m 755 ./mkinstalldirs! /usr/local/pgsql/lib/pgxs/cong/mkinstalldirs! ! gmake[1]: Leaving directory `/usr/local/src/postgresql-8.3.9/cong'! PostgreSQL installation complete.! ! # .bash prole! # Get the aliases and functions! if [ -f ~/.bashrc ]; then! .! ~/.bashrc! ! # User specic environment and startup programs! PATH=$PATH:$HOME/bin! PATH=$PATH:/usr/java/jdk1.5.0 21/bin! export PATH! unset USERNAME! export JAVA HOME=/usr/java/jdk1.5.0 21/! export CATALINA HOME=/usr/local/tomcat! export CLASSPATH=$CLASSPATH:$CATALINA HOME/common/lib! export CATALINA OPTS="-server -Xms512m -Xmx512m -Xss512k -XX:PermSize=64m -XX:MaxPermSize=64m"! とある開発チーム新人Cさん しかも動かない!
  17. 17. とある開発チーム新人Cさん (c) 2014 Masashi Shinbara @shin1x1 あ、あの手順の後、 ○○を☓☓して、△△も入れておいて はあ
  18. 18. とある開発チーム新人Cさん (c) 2014 Masashi Shinbara @shin1x1 あ、あの手順の後、 ○○を☓☓して、△△も入れておいて はあ スタートラインは どこだ
  19. 19. WebデザイナーBさん (c) 2014 Masashi Shinbara @shin1x1 • WordPressのデザイン • XAMPPをインストール • でもなんだか動かない。。。
  20. 20. (c) 2014 Masashi Shinbara @shin1x1 WebデザイナーBさん
  21. 21. (c) 2014 Masashi Shinbara @shin1x1 WebデザイナーBさん Port 80 は 俺のモノ
  22. 22. そこでVagrant (c) 2014 Masashi Shinbara @shin1x1
  23. 23. Vagrant? (c) 2014 Masashi Shinbara @shin1x1
  24. 24. Vagrant? (c) 2014 Masashi Shinbara @shin1x1 軽量で、再現可能かつポータブルな 開発環境の構築、設定を行う
  25. 25. 独立した環境 (c) 2014 Masashi Shinbara @shin1x1 • 仮想環境を使った、独立した環境 • ホストに影響が無い • プロジェクト毎にクリーンな環境
  26. 26. 再現が可能 (c) 2014 Masashi Shinbara @shin1x1 • 構築手順をコードで記述 • コードに添って自動構築 • 全く同じ環境を再現可能
  27. 27. ポータブル (c) 2014 Masashi Shinbara @shin1x1 • 構築手順コードがあればどこでも構築 • チームで同じ環境を各PCに構築 • コマンド一つ実行するだけ
  28. 28. Vagrant (c) 2014 Masashi Shinbara @shin1x1 • HashiCorp が開発した OSS(MIT) • Ruby • 仮想環境の構築、プロビジョニングを
 実行するコマンドラインツール • 構築手順をコードで定義(Vagrantfile)
  29. 29. (c) 2014 Masashi Shinbara @shin1x1 Vagrant 仮想環境 仮想マシン構築 Vagrant CentOS, Ubuntu, FreeBSD, etc
  30. 30. (c) 2014 Masashi Shinbara @shin1x1 仮想環境 仮想マシン構築 Vagrant プロビジョニング Vagrant Apache, PHP, MySQL, Redis, etc
  31. 31. (c) 2014 Masashi Shinbara @shin1x1 仮想環境 仮想マシン構築 Vagrant プロビジョニング Vagrant $ vagrant up
  32. 32. Vagrant ワークフロー (c) 2014 Masashi Shinbara @shin1x1 $ git clone REPO/project! $ cd project! $ vagrant up • 環境構築はこれだけ • こうなるように構成しておく!
  33. 33. vagrant 主なコマンド (c) 2014 Masashi Shinbara @shin1x1 • 仮想サーバ起動 $ vagrant up • 仮想サーバへ SSH ログイン $ vagrant ssh • 仮想サーバ停止 $ vagrant halt • 仮想サーバ停止+破棄 $ vagrant destroy
  34. 34. (c) 2014 Masashi Shinbara @shin1x1 Vagrantで おさえておきたい用語
  35. 35. Provider (c) 2014 Masashi Shinbara @shin1x1 • 仮想環境 • VirtualBox, VMWare, Hyper-V • AWS, DigitalOcean
  36. 36. Box (c) 2014 Masashi Shinbara @shin1x1 • 仮想マシンイメージ • CentOS, Ubuntu, FreeBSD, OSX, etc • Vagrant Cloud
 • Bento - Chef社が作成したBox https://github.com/opscode/bento https://vagrantcloud.com/
  37. 37. Box (c) 2014 Masashi Shinbara @shin1x1 • 仮想マシンイメージ • CentOS, Ubuntu, FreeBSD, OSX, etc • Vagrant Cloud
 • Bento - Chef社が作成したBox https://github.com/opscode/bento https://vagrantcloud.com/ ! ハンズオンでは、 Bento の CentOS 6.5 を使います。
  38. 38. Provisioner (c) 2014 Masashi Shinbara @shin1x1 • プロビジョンを実行するツール • シェル, Chef Solo, Puppet, 
 Ansible, Docker, etc • まずは シェル をおすすめ
  39. 39. Provisioner (c) 2014 Masashi Shinbara @shin1x1 If you've never used a configuration management system before, it is recommended you start with basic shell scripts for provisioning. http://docs.vagrantup.com/v2/provisioning/index.html
  40. 40. Synced Folder (c) 2014 Masashi Shinbara @shin1x1 •ホストPCのディレクトリと
 仮想サーバのディレクトリを同期 •開発はホストPCで、
 実行は仮想サーバで •PhpStormやEclipseで開発可能
  41. 41. (c) 2014 Masashi Shinbara @shin1x1 $ ls .! Vagrantfile $ ls /vagrant! Vagrantfile ホストPC 仮想マシン Synced Folder
  42. 42. Synced Folder (c) 2014 Masashi Shinbara @shin1x1 • Shared Folder(デフォルト) • NFS(ホストがNFSサーバになる) • Rsync(自動でrsync実行)
  43. 43. Vagrantfile (c) 2014 Masashi Shinbara @shin1x1 • 構築手順を記述したファイル • このファイルを元に環境構築 • Ruby の DSL • 分かる人が書けば良い
  44. 44. Vagrantfile (c) 2014 Masashi Shinbara @shin1x1 Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|! config.vm.box = "opscode-centos65"! config.vm.network “private_network", ip: "192.168.33.10"! ! config.vm.provision "shell", inline: <<-EOT! yum -y install httpd! cp -a /vagrant/httpd.conf /etc/httpd/conf/! /sbin/service httpd restart! /sbin/chkconfig httpd on! EOT! end
  45. 45. 主なユースケース (c) 2014 Masashi Shinbara @shin1x1 • 検証環境 • 開発環境 • 仮公開環境
  46. 46. (c) 2014 Masashi Shinbara @shin1x1 ハンズオン
  47. 47. (c) 2014 Masashi Shinbara @shin1x1 流れ 1. USBメモリから必要なファイルコピー 2. Qiita に書いた手順でハンズオン 3. 上手く動いたら tweet (#DevKan)
  48. 48. (c) 2014 Masashi Shinbara @shin1x1 手順資料 #DevKan http://qiita.com/shin1x1/items/ 3288d9de7f04192b6ad8
  49. 49. (c) 2014 Masashi Shinbara @shin1x1 Tips
  50. 50. Git で管理 (c) 2014 Masashi Shinbara @shin1x1 • Vagrantfile とプロビジョニング ファイルをリポジトリへ • .vagrant/ は .gitignore • ソースコードリポジトリに同梱
  51. 51. チームで共有 (c) 2014 Masashi Shinbara @shin1x1 • 環境を揃える
 VirtualBox
 private ip
 shared_folder • Box は、必要最低限な構成
 (Bento)
  52. 52. Sahara Plugin (c) 2014 Masashi Shinbara @shin1x1 • Vagrant Plugin
 https://github.com/jedi4ever/sahara • 仮想サーバの状態を DB の
 ROLLBACK のように戻せる
  53. 53. Sahara Plugin (c) 2014 Masashi Shinbara @shin1x1 ! $ vagrant plugin install sahara! • インストール
  54. 54. Sahara Plugin (c) 2014 Masashi Shinbara @shin1x1 $ vagrant sandbox on • sandbox モード開始 = BEGIN; $ vagrant sandbox rollback • 元に戻す = ROLLBACK; $ vagrant sandbox commit • 変更確定 = COMMIT; $ vagrant sandbox off • sandbox モード終了
  55. 55. 参考1 (c) 2014 Masashi Shinbara @shin1x1 http://docs.vagrantup.com/v2/
  56. 56. 参考2 (c) 2014 Masashi Shinbara @shin1x1 http://www.oreilly.co.jp/books/9784873116655/
  57. 57. 参考3 (c) 2014 Masashi Shinbara @shin1x1 http://www.amazon.co.jp/dp/B00F418SQ8
  58. 58. @shin1x1 (c) 2014 Masashi Shinbara @shin1x1

×