43
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅 협업시스템개발팀 / 신승엽

Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

  • Upload
    -

  • View
    509

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

Vagrant를 이용한개발환경 구축과NetBeans를 이용한 C/C++개발과 리모트 디버깅

협업시스템개발팀 / 신승엽

Page 2: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

팀에 새로운 인원이 들어왔다면개발환경 구축을 위해...

Page 3: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

"위키 보고 따라하세요"

Page 4: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

"위..키... 보고... 따..라... 하..세요..."

Page 5: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

"다음에 들어올 사람을 위해서 정리해 두어야겠군!"

Page 6: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

따라하는데 반나절이 걸린다면?!

Page 7: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

입사한 사람이 여러 명이라면?!

Page 8: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

1. 오늘 입사한 모든 사람이 개발환경 구축에소모한 리소스를 구하시오.(단, n은 입사한 사람의 수, t는 걸리는 시간)

해답: _________________________________________

Page 9: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Page 10: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

vagrant명사. 방랑자

Page 11: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

vagrant세가지만 기억하세요!

Page 12: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

$ vagrant box add "centos 6.3" http://...$ vagrant init "centos 6.3"$ vagrant up

기반이 되는 VM 이미지 추가

vagrant 초기화Vagrantfile이 만들어져요!vm 부팅

Page 13: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Page 14: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

여기까지만...

Page 15: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

저희 개발환경은...

Centos 6.3gcc 4.6.x

hbaseredis

...

Page 16: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

깡통 VM으로 할 수 있는 게 없다!

Page 17: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

Vagrantfile

쉽게말해서VM을 구성하는방법을

기술한 파일!

Page 18: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

어떤 방법?

포트포워딩공유폴더

Provisioning...

VM의 각종 서비스에 접근할 수 있게!

소프트웨어를 설치하고 필요한 구성을 셋팅해서실행할 수 있도록 해 놓는 것

Page 19: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

Provisioning

ShellChef Solo

Chef ClientDockerPuppet

...

Page 20: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

여기서 잠깐!

Page 21: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

Chef

Chef는대상이 물리든 가상이든 혹은 클라우드이든 서버나애플리케이션의 배포를 쉽게

만들어 주는 시스템

Page 22: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

Cookbook

배포 설정 등을 담은 기본 단위Recipe를포함

Page 23: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

원래대로라면이 구성이 필요하지만...

Workstation

Knife

Node

Chef Client

Chef Server

Cookbook

배포 설정등을 담은 기본 단위Recipe를 포함

Page 24: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

Chef Solo

Chef Server 없이 CookBook을쓸 수 있다!

Page 25: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

Shell

Vagrant.configure("2") do |config|config.vm.provision "shell", path: "script.sh"

end

Page 26: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

Chef Solo

Vagrant.configure("2") do |config|config.vm.provision "chef_solo" do |chef|

chef.add_recipe "apache"end

end

Page 27: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Page 28: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

아무튼 이렇게vagrant 구성이 완료되었다면이제 팀 내에공유하는 것이

인지상정!

Page 29: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

공유를 위해선

VagrantfileChef Cookbooks

기타 등등

형상관리시스템에올리면 끝!

Page 30: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

$ vagrant box add "centos 6.3" http://...$ vagrant init "centos 6.3"$ vagrant up

기반이 되는 VM 이미지 추가

vagrant 초기화Vagrantfile이 만들어져요!vm 부팅

Page 31: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

$ vagrant box add "centos 6.3" http://...$ git clone http://...$ vagrant up

기반이 되는 VM 이미지 추가

vagrant 설정 clonevm 부팅

Page 32: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

"다음에 들어올 사람을 위해서 정리해 두어야겠군!"

↓ ↓ ↓

"다음에 들어온 사람은 vagrant up만하면 되겠군!"

Page 33: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

로컬 PC

VM

httpdhbaseredis

CUBRIDmemcached

...

↓ ↓ ↓

$ vagrant up

Page 34: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

그런데 말입니다...

Page 35: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

이렇게 로컬 PC에환경을 구축하니...

Page 36: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

IDE를 붙일 수 있게 되었어요!!

Page 37: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Page 38: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

C/C++ Build Host원격 서버에서 빌드/디버그가 가능!

Page 39: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

File Access 방법

SFTPAutomatic Copying

System Level Sharing

Samba 등으로 이미 파일 공유가 되어 있을 경우우리는 vagrant를 통해 공유 폴더 설정이 되었기 때문에 이 설정을 사용!

Page 40: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

Path Mapping

Page 41: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

로컬 PC

VM

httpdhbaseredis

CUBRIDmemcached

...

Page 42: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

로컬 PC

VM

httpdhbaseredis

CUBRIDmemcached

...

IDERemote

Build/Debug

Page 43: Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅

자세한내용을 알고 싶으신 분은

↓ ↓ ↓

[email protected]/flysky.kr