Geppetto 및 VMware와 지역의 꼭두각시 개발

이 문서에서는 내가 인형에 의해 관리되는 다중 시스템 구성을 개발 및 테스트에 사용하는 로컬 개발 환경과 워크 플로우를 설명. VM웨어 워크 스테이션은 내 로컬 컴퓨터에있는 Geppetto의 워크 스테이션에 매핑 된 마스터 '의 / etc / 꼭두각시'로 지역 조종자 및 테스트 노드를 실행하는 데 사용되는.

목적

인형 구성된 시스템의 효과적이고 효율적인 개발이 자주 통합 및 테스트가 필요: 당신이 쓰는 인형 코드는 즉시 꼭두각시 마스터에 나타납니다 및 테스트 시스템을 구성하는 여러 노드에 적용 할 수.

그것이 작동하는 방법

나는 내 로컬 워크 스테이션으로 Windows를 사용하는. 인형 매니페스트는 코드 저장소에 저장됩니다, 이러한 파괴 또는 전달됩니다하므로 같은. Geppetto IDE는. VM웨어 워크 스테이션은 다중 컴퓨터 시스템 구성을 시뮬레이션 로컬 조종자 및 하나 이상의 검사 노드들에 대한 가상 서버를 제공한다.

Geppetto를 사용하여, 인형 코드 내 Windows 워크 스테이션에서 로컬 작업 영역에 체크 아웃. VM웨어 워크 스테이션이한다 "Geppetto 작업" 퍼핏 마스터 가상 서버에서 사용할 수. 이 실장이 이루어집니다 "읽기 전용", 개인적인 취향으로. 이 파일 시스템을 마운트에 나는 인형 마스터의 '을 / etc / 꼭두각시'디렉토리를 소프트 링크.

지금 Geppetto 편집기를 사용하여 만드는 것이 모든 코드 변경 사항은 즉시 현지 꼭두각시 마스터에 나타납니다. 나는 아직 코드에 확인하지 않은 것에주의. 이 개발 작업은 모두 내 워크 스테이션에 로컬.

회귀 및 기능 테스트는 다양한 테스트 노드에서 인형 에이전트를 트리거하여 수행됩니다. I 자주 철저 매니페스트 꼭두각시을 테스트하기 위해베이스에 스냅 테스트 노드 복원.

이 방법의, 코드 테스트주기가 빠르고 나는 결국에 확인 코드가 이미 실행중인 환경에 노출 된 금속 시나리오뿐만 아니라 증분 패치를 모두 성공 더 많은 확신을 제공합니다.

체크인 후, 코드가 QA 환경에 결국 프로덕션 서버에 배포됩니다.

그것은 빌드하는 방법

VM웨어 폴더 공유이 로컬 개발 환경을 달성하는데 어려울뿐만 단계. 여기 그것을하는 방법이다.

지역 꼭두각시 마스터 할 가상 서버를 만들

나는 인형 마스터로 사용하는 데비안 기반 가상 컴퓨터를 만들. 인형 카탈로그를 생성하면 메모리를 많이, 그래서 나는 충분한 메모리 이상을 할당, 2GB.

Geppetto의 로컬 작업 공간을 구성
Enable "Folder Sharing" in the Options tab for the Puppet master virtual machine.

사용 "폴더 공유" 인형 마스터 가상 머신에 대한 옵션 탭에서.

인형 코드 저장소가 워크 스테이션에 로컬 작업 영역에 Geppetto가 체크 아웃. 이 디렉토리는 다음 단계에서 사용될, 폴더 공유를 설정.

VMworkstation에서 폴더 공유를 가능하게

인형 마스터 가상 시스템에 대한 옵션 탭에서 폴더 공유를 활성화하고 Geppetto에서 사용하는 그것의 지역 코드 저장소 작업 공간을 만들 때 같은 폴더를 선택.

꼭두각시 마스터 가상 머신 VM웨어 도구를 설치

인형 마스터 가상 머신을 시작할 때, 당신은 아래의 알림 메시지가 표시됩니다:

VMware Reminder Message to Install Tools in Guest OS

게스트 OS에서 도구를 설치하는 VM웨어 알림 메시지

게스트 내에서의 CDROM 사용하여 드라이브 '마운트 / dev / cdrom 파일을 /'명령을 장착, VMwareTools 아카이브를 추출하고 './vmware-install.pl'명령을 실행.

당신은 아래의 오류 메시지가 표시되는 경우, 당신은 수 있도록 설치하는 추가 단계를 수행 할 필요가, GCC와 손님을위한 커널 헤더.

Required Packages Preventing the Installation of VMware Tools.

필수 패키지는 VM웨어 도구의 설치를 방지.

데비안에서 이러한 패키지 명령을 사용하여 설치:

적성 설치 GCC을 읽어 오는 0은 리눅스 헤더 -`UNAME-R`-Y를 만들기

VM웨어 워크 스테이션을 사용하는 경우 7, 당신은 GCC-4.3 패키지의 전체 경로를 지정해야 할 수도 있습니다, 아래 그림과 같이:

Specifying the full path to gcc-4.3: /usr/bin/gcc-4.3 in Debian.

GCC-4.3에 대한 전체 경로를 지정: /데비안 usr/bin/gcc-4.3.

마찬가지로, 수동으로 커널 헤더의 위치를​​ 지정해야 할 수도 있습니다. 내 가상 머신, 그들이에있는 '/usr/src/linux-headers-2.6.32-5-686/include'. 이 컴퓨터에 다를 수 있습니다:

KernelHeaders

커널 헤더 위치

VM웨어 도구는 이제 아래와 같이 성공 메시지를 컴파일하고 표시한다:

Successful Compilation of VMware Tools.

VM웨어 도구를 성공적으로 컴파일.

마운트 된 파일 시스템에 대한 / 등 / 인형을 연결

인형 마스터가 공유 폴더에 저장된 모듈을 사용할 수 있도록하려면, 가장 간단한 방법은 마운트 된 파일 시스템에 소프트 링크와 함께 '/ 등 / 꼭두각시'디렉토리를 대체하는 것입니다, 아래 명령과 같이:

Replacing the Puppet Directory with a Softlink to the Mounted Filesystem.

마운트 된 파일 시스템에 대한 소프트 링크와 함께 인형 디렉토리를 교체.

이제 우리는 인형 마스터 가상 머신의 '을 / etc / 꼭두각시'디렉토리는 읽기 전용의 로컬 워크 스테이션에서 Geppetto 작업 공간의 설치 것을 확인할 수 있습니다, 아래의 테스트에서와 같이:

Testing the Setup

설치 테스트

유월 18 일, 2013 에 의해 게시 됨 존 Jaroker 에 출원: 인형 워크 플로