2012-09-27 3 views
1

저는 Windows 7 컴퓨터에서 32 비트 디버그, 32 비트 릴리스, 64 비트 디버그, 64 비트 디버그의 4 가지 구성으로 소프트웨어 프로젝트를 작성하려고합니다. 우리의 설정은 현재 마스터 (0 명의 집행자)와 2 명의 슬레이브가 각각 2 명의 집행자와 관련됩니다. 하나의 슬레이브는 Mac이고 다른 하나는 Windows 머신입니다. 저는 현재 Windows에서 구축하려고합니다.Jenkins는 건물 구성을 분산 시켰습니다.

내 구성 매트릭스는 다음과 같이 설정입니다 :

  • 1 축 : 사용자 정의 축, 이름 : 건축, 값 : 32 비트, 64 비트
  • 2 축 : 노예, 이름 : OS를, 내가 선택한 사용자 정의 축, 이름 : BuildType, 값 : 디버그,

행렬을 해제 ...

Windows 시스템
  • 3 축를 나타내는 노드
    +----------------------+-------+--------+ 
    | Configuration Matrix | 32bit | 64-bit | 
    +----------------------+-------+--------+ 
    | Debug    | X | X | 
    +----------------------+-------+--------+ 
    | Release    | X | X | 
    +----------------------+-------+--------+ 
    

    Git의 소스 코드를 작업 영역의 모든 4 개의 빌드 폴더로 체크 아웃 할 수 있습니다. 그러나 빌드 단계를 정의하는 것은 내가 잃어버린 부분입니다. "Execute Windows batch command"를 선택합니다. 이것은 내가 잃어버린 곳입니다 ... 상자에 무엇을 지정하여 4 개의 빌드 중 어느 것을 기반으로 호출 할 배치 파일을 알 수 있습니까?

    나는 그것이 Jenkin의 환경 변수와 관련이 가정,하지만 난 같은 일을 구상 : ". 실행 Windows 배치 명령"당신은 내부 경우 문이 로그를 작성하지 않아도

    if (Windows Slave Machine) 
    { 
        if (Architecture == 32bit) 
        { 
         if (BuildType == debug) 
         { 
          //Call win_32bit_debug.bat 
         } 
         else 
         { 
          //Call win_32bit_release.bat 
         } 
        } 
        else 
        { 
         if (BuildType == debug) 
         { 
          //Call win_64bit_debug.bat 
         } 
         else 
         { 
          //Call win_64bit_release.bat 
         } 
        } 
    } 
    
  • +0

    다른 배치 파일을 호출하는 4 개의 작업을 생성하는 것만 큼은 어떨까요? 이 모든 것을 하나의 일로 밀어 넣는 것은 불필요하게 복잡해 보입니다. – CIGuy

    +0

    나는 이해한다. 그러나 배치 파일을 실행하는 것을 제외하고는 모든 설정이 동일하기 때문에 별도의 작업을 유지 관리해야합니다 (특히 최대 24 개의 구성으로 확장되므로) 특히 다루기 힘들 것입니다. – user869525

    +0

    각 커밋 후에 실행되는 CI 모델을 통해이 작업을 수행 했습니까? 아니면 사용자가 실행하는 수동 작업입니까? – CIGuy

    답변

    0

    을 다음과 같이 이미 정의한 변수를 사용하십시오 :

    win_%Architecture%_%BuildType%.bat