More Related Content
Similar to 仮想マシンを使った開発環境の簡単共有方法 (20)
仮想マシンを使った開発環境の簡単共有方法
- 8. できたらいいなぁ
• PCローカルで動く開発環境
• 誰もで間違いなく出来る環境構築
• メンバー間で開発コードの共有
• 脱☆手作業!!! ____
/ \
/ _ノ ヽ、_ \
/ o゚⌒ ⌒゚o \ 刺身の上にタンポポのせる仕事もう嫌だお…
| (__人__) |
\ ` ⌒́ / 8
- 11. 使うもの
VirtualBox
Vagrant
Chef
ServerSpec
仮想マシンの実行環境
(VMwareはライセンスが…)
VirtualBoxの簡単操作
(AWSなども操作可能)
手順書をコード化し
コードの通りに設定する
完成した環境の確認ツール
インフラと開発コードの両方をgitで管理する
11
- 15. やること一覧
1. Vagrantの作業ディレクトリ作成
2. Vagrantfile作成
3. Chefコード記載
4. ServerSpecコード記載
5. Vagrant起動(VirtualBox起動:仮想マシン起動)
6. 仮想マシンへログイン(開発開始)
デモコードで
一気に出来ます
15
- 17. 2.Vagrantfile作成
• インストールするOSの記載
インターネット上からboxファイルと呼ばれる
仮想マシンのイメージダウンロードします。
• CPU数,メモリ数などの設定
• 仮想ネットワークの設定
• Chefインストール
OSはCentOS7
IPは192.168.50.10を設定
Rubyコード
17
- 18. 補足 Vagrant
・仮想OSのイメージはboxと呼ばれる
!
・boxはインターネット上に公開されている
!
・ダウンロードするだけで好きなOSを使える
Linuxが主。BSD系もあり。
Windowsもあるらしい(ライセンスは??)。
★Vagrant Cloud(boxイメージの検索サイト)
https://vagrantcloud.com
18
- 19. 3.Chefコード記載
Rubyコード
• ディレクトリchef-repoに入っています
• Swap作成
• 開発用のエディタインスコ,設定ファイル設置
• WebサーバにNginxをインストール
• 開発コード(HTMLファイル)デプロイ
これが構築手順書に該当19
- 20. 補足 Chef
・プログラムでサーバの構築作業を行う
似たもの:Puppet,Ansible
!
・Rubyコードで記述
おきまり文句なので簡単。
複数OS,バージョンを想定すると作り込みが必要
参考書:入門Chef Solo - Infrastructure as Code
http://tatsu-zine.com/books/chef-solo
20
- 21. 4.ServerSpecコード
Rubyコード
• ディレクトリspecに入っています
• Nginxインストールできた?
• Nginxの自動起動設定した?
• Nginxが起動してる?
• ポート80番開いてる?
【定番らしい】
Chefで作って
ServerSpecで確認
期待する状態を確認21
- 25. その他の操作
• 仮想マシンの停止
仮想マシン内からexitした後で,
$ vagrant halt
• 仮想マシンの削除
$ vagrant destroy
• 仮想マシンの作り直し(止めた仮想マシンの起動)
$ vagrant up
25
- 26. 本番環境への構築
• Cehfでやっちゃいな!
Chef-soloを使えば簡単に可能。
・本番環境へのChefインストール
$ knife solo prepare user@host
!
・本番環境へChefのコード実行
$ knife solo cook host
本番環境がAWSやGPC,vSphereなどであれば
Vagrantを使えます!
26
- 33. 簡単な使い方
1. Dockerfileを記述
デモコードでは/home/vagrant/Dockerfile
2. Dockerのイメージをビルド
sudo docker build -t test:ubuntu .
3. Dockerのイメージ作成結果を確認
sudo docker images
4. Dockerのイメージを起動
sudo docker run -i -t test:ubuntu /bin/bash
33