Suche senden
Hochladen
Vagrant体験入門
•
12 gefällt mir
•
21,608 views
Masashi Shinbara
Folgen
2014/04/24 DevLove関西 Vagrant体験入門
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 58
Empfohlen
開発現場で活用するVagrant
開発現場で活用するVagrant
Masashi Shinbara
Heroku で作る スケーラブルな PHP アプリケーション
Heroku で作る スケーラブルな PHP アプリケーション
Masashi Shinbara
わかってるフレームワーク Laravel
わかってるフレームワーク Laravel
Masashi Shinbara
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化
Masashi Shinbara
ビルドサーバで使うDocker
ビルドサーバで使うDocker
Masashi Shinbara
いまどきのPHP
いまどきのPHP
Masashi Shinbara
Azure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーション
Masashi Shinbara
Empfohlen
開発現場で活用するVagrant
開発現場で活用するVagrant
Masashi Shinbara
Heroku で作る スケーラブルな PHP アプリケーション
Heroku で作る スケーラブルな PHP アプリケーション
Masashi Shinbara
わかってるフレームワーク Laravel
わかってるフレームワーク Laravel
Masashi Shinbara
Vagrant で作る PHP 開発環境 [実践編]
Vagrant で作る PHP 開発環境 [実践編]
Masashi Shinbara
Ansible ではじめるサーバ作業の自動化
Ansible ではじめるサーバ作業の自動化
Masashi Shinbara
ビルドサーバで使うDocker
ビルドサーバで使うDocker
Masashi Shinbara
いまどきのPHP
いまどきのPHP
Masashi Shinbara
Azure Websites で作るスケーラブルな PHP アプリケーション
Azure Websites で作るスケーラブルな PHP アプリケーション
Masashi Shinbara
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
Masashi Shinbara
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
Vagrant を Web開発環境に使う
Vagrant を Web開発環境に使う
Masashi Shinbara
Twilio API を PHP で触ってみよう
Twilio API を PHP で触ってみよう
Masashi Shinbara
VagrantからDockerに開発環境を移行した時の話
VagrantからDockerに開発環境を移行した時の話
Daijiro Abe
PHPコードではなく PHPコードの「書き方」を知る
PHPコードではなく PHPコードの「書き方」を知る
Masashi Shinbara
Vagrant入門以前
Vagrant入門以前
katanyan
コンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-Chef
Yukihiko SAWANOBORI
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
Kazuto Kusama
Ansibleを使ってdockerコンテナをプロビジョニングする
Ansibleを使ってdockerコンテナをプロビジョニングする
Ryo Adachi
Fission で 始める Containerless Kubernetes #serverlesstokyo
Fission で 始める Containerless Kubernetes #serverlesstokyo
y_taka_23
microPCFを使ってみよう
microPCFを使ってみよう
Hiroaki_UKAJI
フィードフォースと AWS と私
フィードフォースと AWS と私
a know
AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境
Katsutoshi Nagaoka
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
Hiroshi SHIBATA
Mobage を支える Ruby の技術 ~ 複数DB編 ~
Mobage を支える Ruby の技術 ~ 複数DB編 ~
Naotoshi Seo
Lambdaによるクラウド型言語の実装
Lambdaによるクラウド型言語の実装
Sugawara Genki
ProjectAtomic-and-geard
ProjectAtomic-and-geard
Naoto TAKAHASHI
BOSHでお手軽CFデプロイon AWS
BOSHでお手軽CFデプロイon AWS
i_yudai
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
Masashi Shinbara
はてなのサービスの開発環境
はてなのサービスの開発環境
ast_j
Weitere ähnliche Inhalte
Was ist angesagt?
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
Masashi Shinbara
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
Masashi Shinbara
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション
Masashi Shinbara
Vagrant を Web開発環境に使う
Vagrant を Web開発環境に使う
Masashi Shinbara
Twilio API を PHP で触ってみよう
Twilio API を PHP で触ってみよう
Masashi Shinbara
VagrantからDockerに開発環境を移行した時の話
VagrantからDockerに開発環境を移行した時の話
Daijiro Abe
PHPコードではなく PHPコードの「書き方」を知る
PHPコードではなく PHPコードの「書き方」を知る
Masashi Shinbara
Vagrant入門以前
Vagrant入門以前
katanyan
コンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-Chef
Yukihiko SAWANOBORI
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
Kazuto Kusama
Ansibleを使ってdockerコンテナをプロビジョニングする
Ansibleを使ってdockerコンテナをプロビジョニングする
Ryo Adachi
Fission で 始める Containerless Kubernetes #serverlesstokyo
Fission で 始める Containerless Kubernetes #serverlesstokyo
y_taka_23
microPCFを使ってみよう
microPCFを使ってみよう
Hiroaki_UKAJI
フィードフォースと AWS と私
フィードフォースと AWS と私
a know
AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境
Katsutoshi Nagaoka
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
Hiroshi SHIBATA
Mobage を支える Ruby の技術 ~ 複数DB編 ~
Mobage を支える Ruby の技術 ~ 複数DB編 ~
Naotoshi Seo
Lambdaによるクラウド型言語の実装
Lambdaによるクラウド型言語の実装
Sugawara Genki
ProjectAtomic-and-geard
ProjectAtomic-and-geard
Naoto TAKAHASHI
BOSHでお手軽CFデプロイon AWS
BOSHでお手軽CFデプロイon AWS
i_yudai
Was ist angesagt?
(20)
Vagrant で PHP 開発環境を作る ハンズオン
Vagrant で PHP 開発環境を作る ハンズオン
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
認証機能で学ぶ Laravel 5 アプリケーション
認証機能で学ぶ Laravel 5 アプリケーション
Vagrant を Web開発環境に使う
Vagrant を Web開発環境に使う
Twilio API を PHP で触ってみよう
Twilio API を PHP で触ってみよう
VagrantからDockerに開発環境を移行した時の話
VagrantからDockerに開発環境を移行した時の話
PHPコードではなく PHPコードの「書き方」を知る
PHPコードではなく PHPコードの「書き方」を知る
Vagrant入門以前
Vagrant入門以前
コンテナ事例 CircleCI, Cucumber-Chef
コンテナ事例 CircleCI, Cucumber-Chef
コンテナ時代だからこそ要注目! Cloud Foundry
コンテナ時代だからこそ要注目! Cloud Foundry
Ansibleを使ってdockerコンテナをプロビジョニングする
Ansibleを使ってdockerコンテナをプロビジョニングする
Fission で 始める Containerless Kubernetes #serverlesstokyo
Fission で 始める Containerless Kubernetes #serverlesstokyo
microPCFを使ってみよう
microPCFを使ってみよう
フィードフォースと AWS と私
フィードフォースと AWS と私
AWSとGCPを使用したインフラ環境
AWSとGCPを使用したインフラ環境
成長を加速する minne の技術基盤戦略
成長を加速する minne の技術基盤戦略
Mobage を支える Ruby の技術 ~ 複数DB編 ~
Mobage を支える Ruby の技術 ~ 複数DB編 ~
Lambdaによるクラウド型言語の実装
Lambdaによるクラウド型言語の実装
ProjectAtomic-and-geard
ProjectAtomic-and-geard
BOSHでお手軽CFデプロイon AWS
BOSHでお手軽CFデプロイon AWS
Ähnlich wie Vagrant体験入門
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
Masashi Shinbara
はてなのサービスの開発環境
はてなのサービスの開発環境
ast_j
Composer 再入門
Composer 再入門
Masashi Shinbara
ローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrant
Kazuma Kimura
恋に落ちるデプロイツール
恋に落ちるデプロイツール
totty jp
Vagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみよう
Takuma Morikawa
コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響
Masahito Zembutsu
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
Takeshi Komiya
Sakura no-yuube-20140327
Sakura no-yuube-20140327
Kunihiro TANAKA
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
Masashi Shinbara
Niigata.pm #1
Niigata.pm #1
hayajo Imai
Haikara
Haikara
jewel12
130412 kayac-cinnamon
130412 kayac-cinnamon
Yuki Shibazaki
Word bench7月号
Word bench7月号
西村 州平
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
Masahito Zembutsu
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
Fumihito Yokoyama
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT①
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT①
Yahoo!デベロッパーネットワーク
Real world rails
Real world rails
Jun Yokoyama
How to run P4 BMv2
How to run P4 BMv2
Kentaro Ebisawa
Ähnlich wie Vagrant体験入門
(20)
VagrantユーザのためのDocker入門
VagrantユーザのためのDocker入門
はてなのサービスの開発環境
はてなのサービスの開発環境
Composer 再入門
Composer 再入門
ローカル開発環境の構築をしよう VirtualBox + Vagrant
ローカル開発環境の構築をしよう VirtualBox + Vagrant
恋に落ちるデプロイツール
恋に落ちるデプロイツール
Vagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみよう
コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
Sakura no-yuube-20140327
Sakura no-yuube-20140327
いまどきのPHP開発現場 -2015年秋-
いまどきのPHP開発現場 -2015年秋-
Niigata.pm #1
Niigata.pm #1
Haikara
Haikara
130412 kayac-cinnamon
130412 kayac-cinnamon
Word bench7月号
Word bench7月号
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
今だからこそ知りたい Docker Compose/Swarm 入門
今だからこそ知りたい Docker Compose/Swarm 入門
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT①
Yahoo! JAPAN MeetUp #8 (インフラ技術カンファレンス)LT①
Real world rails
Real world rails
How to run P4 BMv2
How to run P4 BMv2
Mehr von Masashi Shinbara
日本語消えたスライド
日本語消えたスライド
Masashi Shinbara
Twilio入門 -Web アプリ編-
Twilio入門 -Web アプリ編-
Masashi Shinbara
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
Masashi Shinbara
先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress
Masashi Shinbara
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Masashi Shinbara
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
Masashi Shinbara
How to learn Laravel5 application from Authentication
How to learn Laravel5 application from Authentication
Masashi Shinbara
Laravel ユーザなら知っておくべきAuthオートログイン
Laravel ユーザなら知っておくべきAuthオートログイン
Masashi Shinbara
キャラ立ちしたエンジニアになる!
キャラ立ちしたエンジニアになる!
Masashi Shinbara
PHP 5.5 Zend OPcache
PHP 5.5 Zend OPcache
Masashi Shinbara
サーバの防災訓練
サーバの防災訓練
Masashi Shinbara
Kansai PHP Users Group 2012年活動報告
Kansai PHP Users Group 2012年活動報告
Masashi Shinbara
10分で分かる最近のCakePHP
10分で分かる最近のCakePHP
Masashi Shinbara
Mehr von Masashi Shinbara
(13)
日本語消えたスライド
日本語消えたスライド
Twilio入門 -Web アプリ編-
Twilio入門 -Web アプリ編-
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
レイヤードアーキテクチャを意識した PHPアプリケーションの構築 ver2
先取り!PHP 7 と WordPress
先取り!PHP 7 と WordPress
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
Twilio を使えば簡単にできる アプリケーションと電話/SMS連携
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
レイヤードアーキテクチャを意識したPHPアプリケーションの構築
How to learn Laravel5 application from Authentication
How to learn Laravel5 application from Authentication
Laravel ユーザなら知っておくべきAuthオートログイン
Laravel ユーザなら知っておくべきAuthオートログイン
キャラ立ちしたエンジニアになる!
キャラ立ちしたエンジニアになる!
PHP 5.5 Zend OPcache
PHP 5.5 Zend OPcache
サーバの防災訓練
サーバの防災訓練
Kansai PHP Users Group 2012年活動報告
Kansai PHP Users Group 2012年活動報告
10分で分かる最近のCakePHP
10分で分かる最近のCakePHP
Kürzlich hochgeladen
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Kürzlich hochgeladen
(8)
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Vagrant体験入門
1.
2014/04/24 shin1x1 DevLOVE関西 Vagrant 体験入門
2.
ハンズオン準備 (c) 2014 Masashi
Shinbara @shin1x1 USBメモリから ファイルコピー
3.
(c) 2014 Masashi
Shinbara @shin1x1 Vagrantで作るPHP開発環境 http://www.slideshare.net/shin1x1/xampp-mamp-vagrant-php
4.
(c) 2014 Masashi
Shinbara @shin1x1 Vagrantで作るPHP開発環境[実践編] http://www.slideshare.net/shin1x1/vagrant-php
5.
(c) 2014 Masashi
Shinbara @shin1x1 VagrantX http://shin1x1.github.io/vagrantx/
6.
(c) 2014 Masashi
Shinbara @shin1x1 Web開発あるある
7.
エンジニアSさん (c) 2014 Masashi
Shinbara @shin1x1 • Macbook Air で開発 • Apache / PHP / DB • 複数案件を一台で
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.
エンジニア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.
とある開発チームA (c) 2014 Masashi
Shinbara @shin1x1 • チームで開発 • Macbook / Windows で開発 • Apache / PHP / DB
11.
とある開発チームA (c) 2014 Masashi
Shinbara @shin1x1 あれ?動かない。 何か変なコード書いた? こっちは動いてるよ。 拡張追加しないとダメだよ。
12.
とある開発チームA (c) 2014 Masashi
Shinbara @shin1x1 あれ?動かない。 何か変なコード書いた? こっちは動いてるよ。 拡張追加しないとダメだよ。 俺の環境では動く
13.
とある開発チーム新人Cさん (c) 2014 Masashi
Shinbara @shin1x1 ここの手順で開発環境を 構築しておいて。 わかりました!
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.
(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.
(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.
とある開発チーム新人Cさん (c) 2014 Masashi
Shinbara @shin1x1 あ、あの手順の後、 ○○を☓☓して、△△も入れておいて はあ
18.
とある開発チーム新人Cさん (c) 2014 Masashi
Shinbara @shin1x1 あ、あの手順の後、 ○○を☓☓して、△△も入れておいて はあ スタートラインは どこだ
19.
WebデザイナーBさん (c) 2014 Masashi
Shinbara @shin1x1 • WordPressのデザイン • XAMPPをインストール • でもなんだか動かない。。。
20.
(c) 2014 Masashi
Shinbara @shin1x1 WebデザイナーBさん
21.
(c) 2014 Masashi
Shinbara @shin1x1 WebデザイナーBさん Port 80 は 俺のモノ
22.
そこでVagrant (c) 2014 Masashi
Shinbara @shin1x1
23.
Vagrant? (c) 2014 Masashi
Shinbara @shin1x1
24.
Vagrant? (c) 2014 Masashi
Shinbara @shin1x1 軽量で、再現可能かつポータブルな 開発環境の構築、設定を行う
25.
独立した環境 (c) 2014 Masashi
Shinbara @shin1x1 • 仮想環境を使った、独立した環境 • ホストに影響が無い • プロジェクト毎にクリーンな環境
26.
再現が可能 (c) 2014 Masashi
Shinbara @shin1x1 • 構築手順をコードで記述 • コードに添って自動構築 • 全く同じ環境を再現可能
27.
ポータブル (c) 2014 Masashi
Shinbara @shin1x1 • 構築手順コードがあればどこでも構築 • チームで同じ環境を各PCに構築 • コマンド一つ実行するだけ
28.
Vagrant (c) 2014 Masashi
Shinbara @shin1x1 • HashiCorp が開発した OSS(MIT) • Ruby • 仮想環境の構築、プロビジョニングを 実行するコマンドラインツール • 構築手順をコードで定義(Vagrantfile)
29.
(c) 2014 Masashi
Shinbara @shin1x1 Vagrant 仮想環境 仮想マシン構築 Vagrant CentOS, Ubuntu, FreeBSD, etc
30.
(c) 2014 Masashi
Shinbara @shin1x1 仮想環境 仮想マシン構築 Vagrant プロビジョニング Vagrant Apache, PHP, MySQL, Redis, etc
31.
(c) 2014 Masashi
Shinbara @shin1x1 仮想環境 仮想マシン構築 Vagrant プロビジョニング Vagrant $ vagrant up
32.
Vagrant ワークフロー (c) 2014
Masashi Shinbara @shin1x1 $ git clone REPO/project! $ cd project! $ vagrant up • 環境構築はこれだけ • こうなるように構成しておく!
33.
vagrant 主なコマンド (c) 2014
Masashi Shinbara @shin1x1 • 仮想サーバ起動 $ vagrant up • 仮想サーバへ SSH ログイン $ vagrant ssh • 仮想サーバ停止 $ vagrant halt • 仮想サーバ停止+破棄 $ vagrant destroy
34.
(c) 2014 Masashi
Shinbara @shin1x1 Vagrantで おさえておきたい用語
35.
Provider (c) 2014 Masashi
Shinbara @shin1x1 • 仮想環境 • VirtualBox, VMWare, Hyper-V • AWS, DigitalOcean
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.
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.
Provisioner (c) 2014 Masashi
Shinbara @shin1x1 • プロビジョンを実行するツール • シェル, Chef Solo, Puppet, Ansible, Docker, etc • まずは シェル をおすすめ
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.
Synced Folder (c) 2014
Masashi Shinbara @shin1x1 •ホストPCのディレクトリと 仮想サーバのディレクトリを同期 •開発はホストPCで、 実行は仮想サーバで •PhpStormやEclipseで開発可能
41.
(c) 2014 Masashi
Shinbara @shin1x1 $ ls .! Vagrantfile $ ls /vagrant! Vagrantfile ホストPC 仮想マシン Synced Folder
42.
Synced Folder (c) 2014
Masashi Shinbara @shin1x1 • Shared Folder(デフォルト) • NFS(ホストがNFSサーバになる) • Rsync(自動でrsync実行)
43.
Vagrantfile (c) 2014 Masashi
Shinbara @shin1x1 • 構築手順を記述したファイル • このファイルを元に環境構築 • Ruby の DSL • 分かる人が書けば良い
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.
主なユースケース (c) 2014 Masashi
Shinbara @shin1x1 • 検証環境 • 開発環境 • 仮公開環境
46.
(c) 2014 Masashi
Shinbara @shin1x1 ハンズオン
47.
(c) 2014 Masashi
Shinbara @shin1x1 流れ 1. USBメモリから必要なファイルコピー 2. Qiita に書いた手順でハンズオン 3. 上手く動いたら tweet (#DevKan)
48.
(c) 2014 Masashi
Shinbara @shin1x1 手順資料 #DevKan http://qiita.com/shin1x1/items/ 3288d9de7f04192b6ad8
49.
(c) 2014 Masashi
Shinbara @shin1x1 Tips
50.
Git で管理 (c) 2014
Masashi Shinbara @shin1x1 • Vagrantfile とプロビジョニング ファイルをリポジトリへ • .vagrant/ は .gitignore • ソースコードリポジトリに同梱
51.
チームで共有 (c) 2014 Masashi
Shinbara @shin1x1 • 環境を揃える VirtualBox private ip shared_folder • Box は、必要最低限な構成 (Bento)
52.
Sahara Plugin (c) 2014
Masashi Shinbara @shin1x1 • Vagrant Plugin https://github.com/jedi4ever/sahara • 仮想サーバの状態を DB の ROLLBACK のように戻せる
53.
Sahara Plugin (c) 2014
Masashi Shinbara @shin1x1 ! $ vagrant plugin install sahara! • インストール
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.
参考1 (c) 2014 Masashi
Shinbara @shin1x1 http://docs.vagrantup.com/v2/
56.
参考2 (c) 2014 Masashi
Shinbara @shin1x1 http://www.oreilly.co.jp/books/9784873116655/
57.
参考3 (c) 2014 Masashi
Shinbara @shin1x1 http://www.amazon.co.jp/dp/B00F418SQ8
58.
@shin1x1 (c) 2014 Masashi
Shinbara @shin1x1