2011-01-22 5 views
3

C++으로 작성된 다중 플랫폼/다중 아키텍처 라이브러리에서 자유 시간을 잡으려고합니다.빌드 머신을 만들 때 어떤 도구를 사용해야합니까?

매번 릴리스되기 전에 코드가 컴파일되고 모든 플랫폼에서 올바르게 실행되는지 확인하기 위해 여러 컴퓨터 (Windows에서 하나, Linux에서 하나, Mac OS에서 다른 하나 ...)를 부팅해야합니다.

그래서 내 자신의 빌드 머신을 만들기로 결정했는데 실제로 어떤 도구가 있는지 알지 못합니다. 내 buildmachine 리눅스에서 실행되도록하고 싶지만 다른 솔루션을 받아 들일 것입니다.

이상적으로 "Build all"버튼을 클릭하면 다른 플랫폼/아키텍처 용 라이브러리를 컴파일하고 결과에서 아카이브를 생성하며 잠재적 오류를보고합니다.

내 프로젝트 "제약"

은 다음과 같습니다

  • 그것은 C++ 그것은 그것은 SConstruct을 사용하여 Linux 및 Mac OS에서 컴파일 Windows가 SConstruct /는 MinGW 및 Visual Studio 2010
  • 를 사용하여 컴파일
  • 로 작성/g ++
  • 소식통은 서브 버전에 저장됩니다
  • (SVN)

당신은 어떤 도구를 아십니까/내 목표를 달성하는 데 도움이되는 도구 세트?

대단히 감사합니다.

+0

빌드, 디스플레이 진행 질문보다는 통찰력의 어떤 종류의 보고서를 생성 확실히 할 수있다? Windows에서 VS라면 Mac에서 SConstruct를 사용해야하는 이유는 무엇입니까? 난 그냥 평행 VS & Xcode 프로젝트를 유지 - 물론 동일한 소스의 상단에. 나는 Win, Mac, Linux에서 하나의 프로젝트를 만들 수 있도록 Code :: Blocks를 사용한다는 아이디어에 놀랐지 만, 아직 미완성이다. –

+0

@Chis Becke : 나는 Xcode를 잘 모릅니다. 그래서 나는 정말로 대답 할 수 없습니다. 그러나 내 SConstruct 파일은 모든 시스템에서 작동하므로 다른 빌드 시스템에 대한 지원을 추가하고 싶지 않았습니다. Visual Studio 2010과의 호환성은 회사에서 사용하는 친구의 특별한 요청이었습니다. 그것이 내게 달린 것이라면, 나는 모든 필요를 채우기 때문에 SConstruct 만 사용할 것입니다. – ereOn

+0

다음 중 하나 : http://en.wikipedia.org/wiki/List_of_build_automation_software#Continuous_Integration_Tools ??? VM 내에서 다른 대상을 실행하면서 잠시 buildbot을 살펴 보았습니다. – rve

답변

3

각 플랫폼마다 하나씩 3 개의 VM (VirtualBox은 무료)을 설정합니다.

Linux에 TeamCity (또는 허드슨)을 설치하고 다른 VM에 에이전트를 설치하면 빌드 시스템을 구성해야합니다.

매우 기본적인 수준에서는 Subversion에서 소스를 체크 아웃하고 다른 하나는 scons을 호출하는 두 가지 태스크가 있어야합니다.

나는 허드슨 너무 잘 알고 모르겠지만 인 TeamCity 등

+0

+1 TeamCity를 사용하여 Windows 환경에서 구축합니다. Linux에서 사용하는 경험이 없지만 Linux에서 에이전트를 빌드하는 것이 지원됩니다. TeamCity는 훌륭한 키트입니다. 적극 권장합니다. –

+0

+1 가상 박스 및 그것을 스크립팅하는 툴셋. 정말로 Mac OS X을 비 맥 하드웨어의 VM에서 부팅 할 수 있습니까? 기술적으로 불법적 인 해결 방법을 사용하지 않고도? –

+0

@Chris : 저는 OSX에 대해 매우 정직하지 않습니다. 그러나 어느 쪽이든, 그의 실제 설치에 대해 더 많이 알지 못한 채로 (이 별개의 기계는 무엇입니까?그는 다른 운영 체제로 세 번 부팅합니까?) 그는 Mac에 에이전트를 설치하기 만하면됩니다. –