2017-06-20 68 views
0

由於我是詹金斯新手,因此即使在長時間在互聯網上搜索後,我似乎也無法找到與我的情況相匹配的正確解決方案。 我在tfs中有兩個存儲庫位置。 location1具有jenkinsfile和其他文件,需要在linux env上執行構建,而location2具有相同的源文件,但jenkins文件和bat文件需要在windows env中進行構建。如何將jenkins配置爲在同一個jenkins文件的多個節點上構建(一個用於linux,一個用於windows)?

現在需要刪除帶有Windows文件的此存儲庫位置2,並且存在的窗口功能需要現在與其他存儲庫位置1一起添加。因此,存儲庫需要具有可在Linux和Windows上工作的jenkins文件。我不知道如何去做這件事。我讀過我們可以做多配置工作。但我如何做到這一點?

目前jenkinsfile我對Linux的一個是如下:

node('CentOs_Build_server) 
{ 
stage('checkout') 
    { 
     checkout scm 
    } 

    stage('clean workspace') 
    { 
     sh ''' 
     git clean -fdx 
     ''' 
    } 

    stage('dependencies') 
    { 
       } 

    stage('build') 
    { 
       } 


    stage('archive artifacts') 
    { 
     archiveArtifacts 'build/*.rpm' 
    } 

     catch (err) { 

    currentBuild.result = "FAILURE" 

    echo "project build error: ${err}" 

    throw err 
} 
} 

和窗戶上的詹金斯文件如下:

node master 

ws('D:\\Jenkins_Workspace\\OpcUaFramework_Latest') 
{currentBuild.result = "SUCCESS" 

try { 
    stage('checkout') 
    { 
     checkout scm 
    } 

    stage('clean workspace') 
    { 
     bat ''' 
     git clean -fdx 
     ''' 
    } 

    stage('build') 
    { 
     bat ''' 
      " INSTALL.vcxproj /p:Configuration=Debug 
      rem MSBuild   } 




    stage('archive artifacts') 
    { 
     archiveArtifacts '**/*.msi, **/*.zip' 
    } 



catch (err) 

{ 
    currentBuild.result = "FAILURE" 
    echo "project build error: ${err}" 
    throw err 

} 
} 
} 

我真的不認爲所有的經歷這個。如果有人能說出新的jenkins文件應該是什麼樣子,那真是太棒了!

編輯:我應該使用multiconfiguration項目還是自由式項目也可以並行構建運行?

+0

您似乎發佈了比您的問題更合理的代碼。請閱讀[問]以及如何製作[mcve],提供一個MCVE幫助用戶回答您的問題,以及將來的用戶與您的問題相關。 –

回答

2

下面是一個簡單的例子,將運行兩個版本並行使用相同jenkinsfile兩個不同的節點:

parallel (
    "Linux": { 
     node('Linux') 
     { 
      # build steps 
     } 
    }, 
    "Windows": { 
     node('Windows') 
     { 
      # build steps 
     } 
    } 
) 

節點步驟選擇已配置與右標籤的節點。

這可以在每個節點的節點配置屏幕中設置。

管道構建不是自由式工作。 多分支管道是關於建立儲存庫的許多分支 - 而不是關於建築物的必需配置。

+0

感謝您的回答。你能否幫我解答我的問題的第二部分? – JenkinsNewbie1989

+0

謝謝!奇妙的工作! :) – JenkinsNewbie1989

相關問題