문제

저는 현재 새 서버에 배포하기가 약간 복잡한 서버 측 제품을 작업 중이므로 VM에서 테스트하기에 이상적인 후보입니다.우리는 이미 Hudson을 CI 시스템으로 사용하고 있으며, 빌드 아티팩트로서 최신의 최고의 소프트웨어가 포함된 가상 머신 이미지를 배포할 수 있기를 바랍니다.

그렇다면 이 작업을 정확히 어떻게 수행합니까?이 목적에는 어떤 VM 소프트웨어가 권장됩니까?이를 달성하려면 얼마나 많은 스크립팅을 수행해야 합니까?여기서 Windows 2003 Server를 OS로 사용할 때 특히 문제가 있습니까?

도움이 되었습니까?

해결책

여기에서 받아 들여진 답변을 거부해서 죄송하지만 추가 연구를 바탕으로 (답변 덕분에) 더 나은 해결책을 찾았으며 내가 찾은 것을 요약하고 싶었습니다.

첫째, VirtualBox 및 VMware Server는 모두 훌륭한 제품이며 모두 무료이므로 각각 평가할 가치가 있습니다. 우리는 VMware Server와 함께 가기로 결정했습니다.보다 확립 된 제품이며 필요한 경우 지원을받을 수 있기 때문입니다. VMware 플레이어의 오버 헤드가 너무 높지 않다고 가정 할 때, 특수 서버 설치 대신 VM으로 소프트웨어를 클라이언트에 배포하는 것을 고려하고 있기 때문에 이는 특히 중요합니다. 또한, a VMware 스크립팅 인터페이스 SSH 또는 SFTP를 설치할 필요없이 파일을 VM에 직접 설치하는 데 사용할 수있는 VIX라고합니다. 이는 큰 이점입니다.

따라서 우리의 솔루션은 기본적으로 다음과 같습니다 ... 먼저 OS가있는 "바닐라"VM 이미지를 만들어 다른 것이 없습니다. 그런 다음 설치 프로그램 역할을하는 스크립트를 작성하여 Hudson이 VM에 만든 유물을 넣습니다. 이 스크립트에는 파일을 직접, SFTP를 통해 및 VIX를 통해 복사하는 인터페이스가 있어야합니다. 이를 통해 우리는 대상 기계 또는 우리가 선택한 VM을 통해 소프트웨어를 직접 배포 할 수 있습니다. 그런 다음이 결과 이미지는 압축 및 CI 서버의 아티팩트로 배포됩니다.

다른 팁

VM 소프트웨어에 관계없이 (가상 상자도 권장 할 수 있음) 다음 시나리오를보고 있다고 생각합니다.

  1. 빌드가 완료되었습니다
  2. CI는 가상 머신을 시작합니다 (또는 항상 실행 중)
  3. CI는 SCP/SFTP를 사용하여 네트워크를 통해 VM에 빌드를 업로드합니다.
  4. CI는 SSH (VM에서 실행되는 대상 OS에서 사용 가능한 경우) 또는 기타 원격 명령 실행 기능을 사용하여 VM 환경에서 설치를 트리거합니다.

VMware Server는 무료이며 매우 안정적인 제품입니다. 또한 필요할 때 VM 슬라이스의 스냅 샷과 이전 버전의 가상 머신으로 롤백을 만들 수 있습니다. 승리 2003에서 잘 실행됩니다.

빌드에 새 VM 슬라이스를 프로비저닝하는 측면에서 VMware 파일이 포함 된 폴더를 간단히 복사하고 지나서 새 VM의 SID 및 IP를 변경하면 새 시스템이 있습니다. VM 슬라이스의 크기에 따라 15 분이 걸립니다. 스크립팅이 필요하지 않습니다.

VirtualBox를 사용하는 경우 서버에 있으므로 Headless 실행을 살펴 보겠습니다. 일반적으로 VirtualBox는 데스크탑 앱으로 실행되지만 CommandLine에서 VMS를 시작하고 RDP를 통해 Virtual Machine에 액세스 할 수 있습니다.

VBoxManage startvm "Windows 2003 Server" -type vrdp

이 시나리오에서는 Jenkins + Vagrant + Chef를 사용하고 있습니다.

따라서 다음 프로세스를 수행할 수 있습니다.

  • vagrant 프로비저닝 스크립트(Chef 또는 Puppet)를 사용하여 VM 환경 버전 제어

  • Jenkins/Hudson을 사용하여 시스템 구축

  • Vagrant 스크립트를 실행하여 CI 출력에서 ​​마지막 안정 릴리스를 가져옵니다.

  • 나중에 다시 사용할 수 있도록 VM 상태를 저장하세요.

참조:

vagrantup.com

추천합니다 가상 상자. 자동화 된 빌드 상황에서는 개인적으로 사용하지는 않았지만 무료이며 잘 정의 된 프로그래밍 인터페이스가 있습니다.

VMware를 선택하는 것은 현재 나쁜 선택이 아닙니다.

그러나 VMware와 마찬가지로 VMware 서버를 지원하는 것처럼 Sun은 VirtualBox를 지원합니다.

VMware Studio를 사용 하여이 작업을 수행 할 수도 있습니다. 기본 워크 플로는 다음과 같습니다. 1. 가상 머신을 설명하는 XML 파일을 만듭니다. 2. 스튜디오를 사용하여 쉘을 만듭니다. 3. VMware Server를 사용하여 가상 머신을 프로비저닝하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top