[英]How to checkout and run pipeline file from TFS on specific node in Jenkins?
我正在嘗試運行一個管道作業,該作業從TFS獲取其管道文件,但是工作空間和檢出的映射是在主服務器而不是從服務器上完成的。
我有安裝在Linux機器上的Jenkins-master,我將Windows機器作為從機器連接到它。 我為TFS選擇了“ 來自SCM的管道腳本 ”選項來創建管道作業。
我怎樣才能使Windows Slave運行該管道作業 ?
主服務器無法運行該作業,因為它正在Linux上運行,並且在嘗試將工作空間映射到TFS以下載管道腳本並運行它時會失敗。
即使我創建另一個管道作業並選擇對腳本進行硬編碼以運行我的原始管道作業,如下所示:
node('WIN_SLAVE') {
build job: 'My_Pipeline'
}
沒用
而且我在輸出中看到(上面的)initiali腳本實際上是在Windows從屬服務器上運行的,但是當它構建作業“ My_Pipeline”時,它仍然嘗試在Linux機器路徑下將工作空間映射到Jenkins-master。 var / jenkins / ...,但失敗。
如果初始管道腳本在Windows從站上運行,為什么其他管道腳本未在同一節點上運行? 為什么要再次嘗試從TFS檢出管道文件到Jenkins-Master?
如何使Windows Slave檢出管道文件並運行它?
這里有一些要檢查的東西...
另外,如果選中將更改推送到TFS時要構建的框,那么每次對TFS進行更改時,您的原始作業仍可能嘗試運行。
由於此從屬作業正在觸發您最初在主服務器上創建的另一個作業,因此它將按預期在主服務器上構建。
代替引用My_Pipeline作業,而將My_Pipeline作業本身更改為在從屬服務器上運行。 如果您對原始作業使用聲明性管道,請在原始作業設置內更改該原始作業以在從屬服務器上運行。 您可以按照上面的指示進行操作,只需在原始作業中定義節點即可。
如果原始作業是自由樣式項目,則有一個標題為Restrict的復選框,可以在其中運行該項目 。 檢查並在標簽表達式中包括從站的名稱。 當您運行作業時,它將被限制為從屬。
最后,發布My_Pipeline作業將很有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.