2013-03-15 55 views
3

我有一個詹金斯奴隸(在localhost:8000)和I am executing it (link)從詹金斯大師(在localhost:8080)。這裏的基本思想是運行遠程作業並等待作業完成。如何在使用jenkins-cli.jar運行從屬作業時等待工作完成?

java -jar jenkins-cli.jar -s http://localhost:8000 build "Test Suite" 

現在,這不等待。我開始從事奴隸工作,詹金斯大師說,儘管奴隸再運行30分鐘,但任務立即結束。

有沒有人知道我如何阻止或檢查從站上的信號,以驗證它完成並獲得工作的退出狀態代碼?

注意:我的從站測試必須在從站上運行,因爲它不會從作爲服務運行的Jenkins主站運行,並且不允許從測試中啓動webbrowser。所以,我在一個可見的控制檯中運行該奴隸。

回答

5
java -jar jenkins-cli.jar -s http://localhost:8000 build "Test Suite" -s 

添加參數-s到構建命令應該觸發作業,並返回作業完成後

+0

我會在星期一嘗試並回復你。非常感謝。 – djangofan 2013-03-16 22:46:28

+0

是的,它的工作。這很奇怪,-s用於URL,然後再次使用。這是怎麼回事? – djangofan 2013-03-19 16:25:45

+1

我相信這個CLI界面的佈局方式是參數的順序。第一個-ar arg與您正在執行的命令(「build」)一起連接到CLI(即,什麼服務器)。第二個/結尾-s特定於「build」子命令,並且幫助文檔指出: 「-s:等到命令完成/中止...」 – kellyb 2015-09-08 21:46:54

1

每一個Windows應用程序,它的父返回退出代碼。使用Windows批處理文件檢查退出代碼。例如:

java -jar jenkins-cli.jar -s http://127.0.0.1:9090 build "Test Suite" -s 
echo The exit code is %errorlevel% 

在全成工作完成後,您將獲得:

Completed "Test Suite" #72 : SUCCESS 
The exit code is 0 

檢查一些錯誤情況(錯誤的作業名稱,作業創建失敗等)

注:不運行主詹金斯因爲Windows服務可能更容易。

相關問題