2012-02-13 1 views
2

EDIT 2012.03.02 : 일부 다른 요구 사항으로 빌드 도구 섹션이 업데이트되었습니다. premake 추가.C++/Qt 애플리케이션을위한 크로스 플랫폼 연속 통합 파이프 라인

수정 2012.03.05 : 빌드 도구 섹션이 업데이트되었습니다. CMake에 집중했다. Ant + CMakeAnt가 추가되었습니다.

저는 많은 Visual C++ 프로젝트가 있으며이를위한 지속적인 통합을 시작하고 싶습니다. 이 과정에서 많은 도구가 사용됩니다. 나는 여기 저기에있는 기사를 읽기 시작하고, 도구에 대해 어느 것을 다른 사람들과 잘 통합 할 수 있는지를 알기가 어렵습니다. 그래서 난 내 요구를 존중 수있는 이미 테스트 지속적인 통합 워크 플로우를 찾고 있어요 :

현재 상황

  • C++/Qt는 응용 프로그램을 Visual Studio를 개발;
  • 1 000 개 미만의 원본 파일;
  • 작은 개발자 팀;
  • 작은 예산;
  • 오픈 소스/무료 소프트웨어가 바람직합니다.
  • 사용하기 쉽고 간단한 도구를 찾고 있습니다. 무거운 무언가와 "강력한"필요는 없습니다.
  • 마지막으로 패키지 소프트웨어 (다운로드 준비가 된 설치 프로그램)가 Windows 및 OSX에서 작동해야합니다. Linux (가장 널리 사용되는 배포판)는 장점입니다.

    는 젠킨스 할 필요가 :

도구

  • 지속적인 통합 서버를 필요로했다. 나는 그것을 알고 그것을 좋아한다. 내가 정말로 필요하다면 나는 다른 것으로 바꿀 수있다.

  • 소스 코드 관리 :

    GIT.

  • 문서 생성기 :

    Doxygen을.

  • 빌드 도구 : 우리는 우리가 지원하는 데 필요한 모든 플랫폼 솔루션과 구성을 생성해야합니다

    . 나는 강력하게 CMake를 사용하도록 권고 받았다. Ant + CMakeAnt (http://code.google.com/p/cmakeant/)도 좋은 추가 기능인 것 같습니다.

  • 단위 테스트 프레임 워크 :

    CppUnit을, C++ 시험, Googletest?

  • 설치 빌더

    CPack은 (CMake의 일부는 너무 큰 것 같습니다).

  • 하드웨어 :

    바람직 버추얼 또는 VMware 하나 개의 단일 머신. 그것은 오직 가능합니까? 그런 일에 리눅스를 사용하는 것이 더 낫겠습니까? 아니면 MAC 미니로 충분하겠습니까?

그래서 여기 비슷한 사람이 이미 만들어 놓았습니까? 정확하게 어떤 도구로?

의견 및 제안에 감사드립니다.

답변

1

저는 Jenkins와 CMake/CTest/CPack을 성공적으로 사용했습니다. CMake 빌더 플러그인을 사용할 수 있습니다.

테스트 결과가 Jenkins 로그온 실패시 표시되므로 ctest --output-on-failure 옵션을 유용하게 사용할 수 있습니다.

C++ 테스트를 위해 Boost.Test 프레임 워크를 사용합니다. ctest와 잘 작동하며, 뭔가 잘못되었을 때 모든 로깅 결과를 얻으려면 -l all 옵션으로 실행합니다.

0

많은 스크립트를 사용하여 전체 프로세스를 부트 스트랩 할 수 있어야합니다.

Perl 또는 Python에 작성하십시오. 이러한 종류의 프로세스를 부트 스트랩하는 방법에 대한 수백만 개의 자습서가 있습니다.

이 빌드 프로세스의 특정 담당자를 구현하는 데 어려움이 있다면 구체적인 질문을하십시오.

+0

답변 해 주셔서 감사합니다. 내 질문은 명확하지 않을 수도 있지만 현재로서는 특정 요구 사항에 따라 사용할 도구와 하드웨어를 확인하려고합니다. 그런 다음 그것을 만들려고 노력할 것입니다. 2 일 동안 각 툴을 테스트하는 것은 영원히 끝나며 교육받은 선택을하는 데 도움이되지 않습니다. 그래서 나는 경험 많은 사람들 (실제로 사용/구축 한 사람들)에 의지하고 있습니다 ^^ – Korchkidu