jbug-vagrant

117
Sat Mar 29 16:00:00 KST 2014. at 토즈 강남타워점

Upload: daekwon-kang

Post on 05-Dec-2014

524 views

Category:

Technology


2 download

DESCRIPTION

발표 리소스는 GitHub과 Vimeo를 통해서 확인 가능합니다. - https://github.com/ncrash/jbug-vagrant - https://vimeo.com/94624745 ------------------------------ 발표 후기 ------------------------------ 거의 6년 만에 커뮤니티에서 발표를 했습니다 ^^; 발표를 준비하면서 다시 한번 확고히 든 생각... "공유를 위한 준비과정을 통해 더 깊고 넓은 경험을 한다" 발표를 마치고 이 경험에 대한 감사 인사 전합니다. 발표 기회를 제안해 주고 응원해준 장회수 형 처음 커뮤니티 발표를 경험하게 기회를 주셨던 허광남 형 그리고 발표내용 인용을 허락해주신 강소리님, 박용권님, 김경열님 감사 인사 전합니다.

TRANSCRIPT

Page 1: jbug-vagrant

Sat Mar 29 16:00:00 KST 2014. at 토즈 강남타워점

Page 2: jbug-vagrant

agenda1. 발표자 소개

2. 발표 주제 소개

3. What is vagrant

4. vagrant는 “사람을 위하는 자동화” 도구입니다..

5. 활용법 첫번째 - Act 1 : SLiPP with chef solo

6. 활용법 두번째 - Act 2 : Oracle 11g with puppet

7. 활용법 세번째 - Act 3 : 실무에서 활용 사례

8. 시간이 남거나 or 시간이 허락되면…

Page 3: jbug-vagrant

강 대권

Daekwon Kang

• 제 7대 JCO 운영진 • SLiPP (Sustainable Life

Programming Programmer) 스터디 멤버

• 유큐브 품질혁신단 과장 • 주요 관심사

• 작업 환경 그리고 사람을 위하는 자동화

Page 4: jbug-vagrant

–Daekwon Kang

“복잡한 개발환경… 손쉽게 만드려면 어떻게 해야 할까요?”

Page 5: jbug-vagrant
Page 6: jbug-vagrant
Page 7: jbug-vagrant
Page 8: jbug-vagrant
Page 9: jbug-vagrant
Page 10: jbug-vagrant
Page 11: jbug-vagrant
Page 12: jbug-vagrant
Page 13: jbug-vagrant
Page 14: jbug-vagrant
Page 15: jbug-vagrant
Page 16: jbug-vagrant
Page 17: jbug-vagrant
Page 18: jbug-vagrant
Page 19: jbug-vagrant
Page 20: jbug-vagrant
Page 21: jbug-vagrant
Page 22: jbug-vagrant
Page 23: jbug-vagrant
Page 24: jbug-vagrant
Page 25: jbug-vagrant

혹시… 더 멋진 방법 아시는 분?

Page 26: jbug-vagrant
Page 27: jbug-vagrant

➜ whatis vagrant• CLI 기반 가상머신(VM) 관리 툴

• Mitchell Hashimoto

• Initial commit Jan 21 2010

• Announcing HashiCorp Nov 27 2012

• www.vagrantup.com

• easy to configure

• portable work environments

Page 28: jbug-vagrant
Page 29: jbug-vagrant
Page 30: jbug-vagrant
Page 31: jbug-vagrant
Page 32: jbug-vagrant

–Daekwon Kang

vagrant는 “사람을 위하는 자동화” 도구입니다..

Page 33: jbug-vagrant

Manual Vagrantvs

27분 27초

Page 34: jbug-vagrant

“time" is gold!

Don't Repeat Yourself

Page 35: jbug-vagrant

➜ install vagrant

Page 36: jbug-vagrant
Page 37: jbug-vagrant
Page 38: jbug-vagrant
Page 39: jbug-vagrant
Page 40: jbug-vagrant
Page 41: jbug-vagrant
Page 42: jbug-vagrant
Page 43: jbug-vagrant
Page 44: jbug-vagrant
Page 45: jbug-vagrant
Page 46: jbug-vagrant
Page 47: jbug-vagrant

➜ demo

Page 48: jbug-vagrant
Page 49: jbug-vagrant
Page 50: jbug-vagrant
Page 51: jbug-vagrant
Page 52: jbug-vagrant
Page 53: jbug-vagrant
Page 54: jbug-vagrant

➜ vagrant box list

lucid32 (virtualbox)lucid64 (virtualbox)precise32 (virtualbox) precise64 (virtualbox)

Page 55: jbug-vagrant
Page 56: jbug-vagrant

➜ vagrant init precise64

Page 57: jbug-vagrant

➜ cat Vagrantfile# -*- mode: ruby -*-# vi: set ft=ruby :!# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!VAGRANTFILE_API_VERSION = "2"!Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # All Vagrant configuration is done here. The most common configuration # options are documented and commented below. For a complete reference, # please see the online documentation at vagrantup.com.! # Every Vagrant virtual environment requires a box to build off of. config.vm.box = "precise64"! # The url from where the 'config.vm.box' box will be fetched if it # doesn't already exist on the user's system. config.vm.box_url = "http://files.vagrantup.com/precise64.box" config.vm.provider "virtualbox" do |vb| vb.name = "jbug-vagrant" vb.customize ["modifyvm", :id, "--cpus", "1"] vb.customize ["modifyvm", :id, "--memory", "1024"] vb.customize ["modifyvm", :id, "--cpuexecutioncap", "80"] endend

Page 58: jbug-vagrant

easy to configure

Page 59: jbug-vagrant
Page 60: jbug-vagrant
Page 61: jbug-vagrant
Page 62: jbug-vagrant
Page 63: jbug-vagrant
Page 64: jbug-vagrant
Page 65: jbug-vagrant

portable work environments

Page 66: jbug-vagrant
Page 67: jbug-vagrant
Page 68: jbug-vagrant
Page 69: jbug-vagrant
Page 70: jbug-vagrant
Page 71: jbug-vagrant
Page 72: jbug-vagrant
Page 73: jbug-vagrant
Page 74: jbug-vagrant
Page 75: jbug-vagrant
Page 76: jbug-vagrant
Page 77: jbug-vagrant
Page 78: jbug-vagrant
Page 79: jbug-vagrant
Page 80: jbug-vagrant
Page 81: jbug-vagrant
Page 82: jbug-vagrant

SLiPP with chef soloimage : http://www.presentationzen.com/presentationzen/2005/10/apple_special_e.html

Page 83: jbug-vagrant
Page 84: jbug-vagrant
Page 85: jbug-vagrant
Page 86: jbug-vagrant

Ubuntu에 Oracle 11g 설치 가이드

• http://meandmyubuntulinux.blogspot.co.uk/2012/05/installing-oracle-11g-r2-express.html

Page 87: jbug-vagrant

Oracle 11g with puppetimage : http://www.geocities.ws/antoniohs_80/coreano.html

Page 88: jbug-vagrant

현재 진행 중인 “개발표준 고도화”는요…

Page 89: jbug-vagrant
Page 90: jbug-vagrant
Page 91: jbug-vagrant
Page 92: jbug-vagrant
Page 93: jbug-vagrant
Page 94: jbug-vagrant
Page 95: jbug-vagrant
Page 96: jbug-vagrant
Page 97: jbug-vagrant
Page 98: jbug-vagrant

반복적인 작업(DRY)이

발생하는 구간은 어딜까?

Page 99: jbug-vagrant
Page 100: jbug-vagrant

idea

• VirtualBox 스냅샷을 이용해 변경작업 후 문제발생을 대비해 보험을 들어둘 수 있다.

• 즉 변경작업 이전으로 손쉽게 되돌리기가 가능한데 디비 트랜잭션 처리와 유사하다고 보면 되겠다.

Page 101: jbug-vagrant

반복적인 작업이 시작 지점에서 생성한 스냅샷으로 원복하기

Page 102: jbug-vagrant
Page 103: jbug-vagrant
Page 104: jbug-vagrant
Page 105: jbug-vagrant

의도한 대로 동작은 하지만…

“이건 좀 복잡하고 왠지 프로그래머 스럽지 못한데…”

!라는 생각만하다가…

Page 106: jbug-vagrant

Chef Solo 입문 - 이토 나오야 지음

Page 107: jbug-vagrant

➜ vagrant plugin install sahara

Page 108: jbug-vagrant
Page 109: jbug-vagrant
Page 110: jbug-vagrant

실무에서 활용 사례image : https://twitter.com/Act3

Page 111: jbug-vagrant

간단한 Tip

시간이 남는다면...

Page 112: jbug-vagrant

참고자료 • http://www.slideshare.net/kthcorp/h3-2012-vagrant • http://www.slideshare.net/arawnkr/vagrant-chef • https://medium.com/devops-programming/582135beb623 • http://www.slipp.net/wiki/pages/viewpage.action?

pageId=12189742 • http://en.wikipedia.org/wiki/Vagrant_(software) • https://github.com/chitacan/aosp-build-with-vagrant • http://www.hashicorp.com/blog • https://github.com/mitchellh/vagrant/ • http://wptavern.com/how-to-install-wordpress-plugins-

directly-from-github • https://github.com/jedi4ever/sahara

Page 114: jbug-vagrant

회고(Retrospective)

• vagrant is not silver bullet..

• vagrant는 문제해결을 좀 더 편하게 해결하도록 도와주는 도구에 불과

Page 115: jbug-vagrant

Q & A

Page 116: jbug-vagrant

A/S 문의

• Public : http://www.github.com/ncrash/jbug-vagrant/issues

• Private : [email protected]

Page 117: jbug-vagrant

End of Presentations