Your SlideShare is downloading. ×
[세미나] Vagrant 이지원
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

[세미나] Vagrant 이지원

834
views

Published on

Published in: Technology

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
834
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
22
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 개발기에선 잘되던데… 서버와 동일한 개발환경 꾸미기
  • 2. 개발기에선 잘되던데… • Human Error or Human Virus •환경설정의 차이 • But… 이일 저일 하다보면… 서버랑 환경이 달라져요…
  • 3. 해결책은? •가상머신 • 개발기 놔두고 왜? • 여러 사람이 사용하지 않아 오염되지 않는다.
  • 4. Vagrant • “개발과 실서버의 일치를 위한 로컬 VM을 손쉽게 빌드하자.”
  • 5. Vagrant • https://github.com/mitchellh/vagrant • Mac OS X 10.5+, Windows 7, Debian, Ubuntu, Redhat, CentOS, Fedora, Arch, and Gentoo •VirtualBox 에 의존
  • 6. 설치 • VirtualBox 설치 • https://www.virtualbox.org/wiki/Downloads • Vagrant 설치 • http://downloads.vagrantup.com/ • 패키지 방식의 설치 권장 • 지원되는것이 없다면… cmd> gem install vagrant <- 루비필요
  • 7. Vagrant 프로젝트 셋업 • http://files.vagrantup.com/NAME.box (lucid32, lucid64, precise32, precise64) •http://vagrantbox.es
  • 8. Vagrant 프로젝트 셋업 • VM 을 만들기 위한 이미지가 필요 •BOX • 기본적으로 root파일시스템, Ram, Disk 사 이즈 같은 설정을 가지고 있는 기본 이미지 • Usage: vagrant box add <name> <url> • 저장경로: %HOMEPATH%.vagrant.dboxes
  • 9. Vagrant 프로젝트 셋업 • cmd> vagrant init <name>
  • 10. Vagrant 프로젝트 셋업 • cmd> vagrant up
  • 11. Vagrant 프로젝트 셋업 • VM을 생성하고 실행하는 방법 •vagrant box add •vagrant init •vagrant up
  • 12. 어떻게 동작하는 거지? • Command Line Interface – vagrant [sub command] •vagrantfile – vagrantfile 이 생성된 디렉토리 = vagrnat 프로 젝트 –VM에 대한 모든 초기 설정을 관리
  • 13. 어떻게 동작하는 거지?
  • 14. 어떻게 동작하는 거지? • vagrangfile 로드 순서 • gem 디렉토리의 Vagrantfile이 로드됩니다. 이것은 모든 디폴 트들을 포함하고 수정되지 않습니다. • box가 지정이 되었다면 box 디렉토리의 Vagrantfile이 로드됩 니다. 만약 패키징할 때 --vagrantfile 옵션을 사용했다면, 이것 은 그 box 안에 패키지된 vagrantfile입니다. • home 디렉토리(디폴트 ~/.vagrant.d/)의 vagrantfil가 있다면 그 것이 로드됩니다. 이 vagrantfile에 사용자에게 특화될 수 있는 몇 가지 디폴트값을 설정할 수 있습니다. • 프로젝트 디렉토리의, 사용자가 수정할 수 있는 vagrantfile이 로드됩니다.
  • 15. vagrantfile 의 설정들 • • • • • • config.vm.auto_port_range config.vm.base_mac config.vm.boot_mode config.vm.box config.vm.box_url config.vm.customize • config.vm.define • • • config.vm.forward_port config.vm.guest config.vm.host_name • • config.vm.network config.vm.provision • • • • • • • • • • • • • • • • config.vm.share_folder config.nfs.map_uid config.nfs.map_gid config.package.name config.ssh.username config.ssh.host config.ssh.port config.ssh.guest_port config.ssh.max_tries config.ssh.timeout config.ssh.private_key_path config.ssh.forward_agent config.ssh.forward_x11 config.ssh.shell config.vagrant.dotfile_name config.vagrant.host
  • 16. MULTI VM Vagrant::Config.run do |config| config.vm.define :web do |web_config| web_config.vm.box = "web" web_config.vm.forward_port end 8080, 8088 config.vm.define :db do |db_config| db_config.vm.box = "db" db_config.vm.forward_port end end cmd> vagrant up web cmd> vagrant ssh web 3306, 3306
  • 17. Host-only Networking Vagrant::Config.run do |config| config.vm.define :web do |web_config| # ... web_config.vm.network :hostonly, "10.11.12.13" end config.vm.define :db do |db_config| # ... db_config.vm.network :hostonly, "10.11.12.14" end end
  • 18. 정리 • 실 서버 환경에 맞출려면 역시 어렵다. • 한명이 총대 매고 box 만들면 나머지는 오 염 걱정없이 사용할 수 있다.