2014-02-21 105 views
4

我是詹金斯的新手。我有一個要求,我需要在主節點上運行部分作業,其餘部分在從節點上運行。是否有可能在主設備上運行部分作業,而在從設備上運行其他部分?

我試過在論壇上搜索,但找不到任何相關的東西。是否有可能做到這一點?如果不是,我將不得不把它分成兩個單獨的工作。

編輯

基本上,我有一個從SVN簽出源代碼的工作,然後編譯並生成jar文件。之後,它將爲此應用程序構建一個明智的安裝程序。我想在主服務器(Linux)上執行源代碼檢出和編譯,並將Wise Installer安裝委託給Windows從服務器。

回答

3

用兩個獨立的工作做這件事絕對容易;您可以使主作業觸發從屬作業(反之亦然)。

如果您將需要捆綁到安裝程序中的文件作爲主版本的構建工件發佈,則可以通過Jenkins URL將它們拖放到從屬設備上並創建安裝程序。使用主構建中的「存檔構件」構建後步驟執行此操作。

+0

@ gareth-bowles,我已更新我的問題與要求。 – sasankad

2

您可以使用Multijob plugin,它增加了一個構建階段的想法,該構建階段將並行運行其他作業作爲構建步驟。您仍然可以繼續使用常規自由式作業構建和發佈構建選項以及

1

Pipeline Plugin允許您編寫在多個從節點上運行的作業。您甚至不必在Jenkins中創建其他獨立作業 - 只需在Pipeline腳本中編寫另一個node語句,該塊就會在分配的節點上運行。如果要限制運行節點的類型,可以指定標籤。

例如,這條管道腳本會在兩個不同的節點上執行它的部分:

node('linux') { 
    git url: 'https://github.com/jglick/simple-maven-project-with-tests.git' 
    sh "make" 
    step([$class: 'ArtifactArchiver', artifacts: 'build/program', fingerprint: true]) 
} 
node('windows && amd64') { 
    git url: 'https://github.com/jglick/simple-maven-project-with-tests.git' 
    sh "mytest.exe" 
} 

Pipeline plugin tutorial一些更多的信息。 (請注意,它以前稱爲工作流程插件。)

相關問題