2012-09-27 52 views
1

我試圖在4種不同的配置中構建一個軟件項目:Windows 7機器上的32位調試,32位版本,64位調試,64位調試。我們的設置目前涉及到主控器(0個執行器)和2個每個都有2個執行器的從器件。一個奴隸是一臺Mac,另一個是Windows機器 - 我現在只是試圖在Windows上構建。Jenkins分佈式構建配置

我的配置矩陣是設置這樣的:

  • 第1軸:用戶自定義的軸,名稱:建築,值:32位,64位
  • 第2軸:奴隸,名稱:OS,我選擇了用戶定義的軸名稱:BuildType,值:調試,釋放

矩陣...

0123表示在Windows機器
  • 第3軸節點
    +----------------------+-------+--------+ 
    | Configuration Matrix | 32bit | 64-bit | 
    +----------------------+-------+--------+ 
    | Debug    | X | X | 
    +----------------------+-------+--------+ 
    | Release    | X | X | 
    +----------------------+-------+--------+ 
    

    它能夠成功檢出Git中的源代碼到工作區中的所有4個構建文件夾中。然而,定義構建步驟是我迷失方向的地方。我選擇「執行Windows批處理命令」。這就是我迷失的地方......我在盒子裏指定了什麼,所以它知道要調用哪個批處理文件,基於它的4個版本中的哪一個?

    我認爲它是與詹的環境變量,但我設想做這樣的事情:「執行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

    你不必寫這篇日誌裏面if語句 只是試圖利用你已經這樣定義的變量:

    win_%Architecture%_%BuildType%.bat