2016-05-13 178 views
0

我有文件要在遠程機器上部署和運行。 我已經使用jenkins傳輸了該文件,現在我所做的是在Execute Windows Batch Command中使用psexec在遠程計算機上調用a.bat批處理文件。 a.bat執行 當jar開始執行時,命令提示符文本存儲在一個文件中。 使用java -jar abc.jar >> a.log 2>&1 現在,我要的是顯示在詹金斯控制檯a.log內容時正在執行的jar文件 (該文件不斷被寫,我想在詹金斯控制檯顯示它,因爲它正在被寫入)在jenkins控制檯執行jar和顯示文本日誌

我試圖使用並行處理來調用start兩次,一次是調用批處理文件,另一次是使用type進行顯示。

但是,當我使用start我得到Process leaked file descriptor。 有沒有其他方法可以實現這一點。無論是在jenkins中調用powershell還是計劃任務。

回答

0

你需要在windows中尋找tee等價物,但是如果有幾個像GNU utilities for Win32,但是如果你有cygwin,你仍然可以使用tee,這將簡化方案。

現在的問題是如何在jenkins上運行cygwin上的jar文件?

你仍然可以使用執行windows [batch] shell。並將cygwin安裝路徑添加到PATH變量中,並開始像使用BOSS一樣使用linux命令。

或者你可以在批量生成的命令中使用powershell tee。

+0

沒有設置cygwin我可以在Windows Powershell中運行'tee'。現在需要將所有批處理語法轉換爲PowerShell。感謝您的解決方案。如果我需要任何幫助,我會回來。 P.S.〜我們都來自同一個城市;) – HunterrJ

相關問題