簡體   English   中英

“ Powershell” Jenkins步驟的控制台輸出出現延遲

[英]Console output of “Powershell” Jenkins step appears with delay

我有一個詹金斯管道。 其中一個步驟是powershell ,其執行PowerShell腳本。 該腳本包含一些應告知腳本執行情況的Echo語句。

我希望與Echo一起發布的文本會立即出現在Jenkins作業的控制台中。

問題是它們確實出現了,但是延遲了。 我的印象是直到腳本完成其工作之前,輸出才被推遲。 但是,這使那些回聲調用毫無用處。

如何實現用Echo編寫的內容立即出現在Jenkins作業的控制台中?

實際上,Jenkins作業直到最近才使用Windows bat,然后所有回顯調用立即出現在Jenkins中。 然后我改用Powershell(因為我想並行做一些事情),現在遇到了問題。

我已經閱讀了許多可以使用的CmdLets( Write-VerboseWrite-Information等)並進行了嘗試,但效果是相同的:輸出人稱但延遲了。 在詹金斯(Jenkins)的工作中不允許使用Write-Host,並且通常認為Write-Host不適合該任務。

謝謝您的提示。

Echo只是Powershell中的別名,實際上它不運行bash'echo'命令,而是運行CMDLet。 使用命令: Get-Alias | ? {$_.name -like "echo*"} Get-Alias | ? {$_.name -like "echo*"} Get-Alias | ? {$_.name -like "echo*"} _。name -like Get-Alias | ? {$_.name -like "echo*"}您可以看到,使用CMDLet代替了'Write-Output'。 要列出所有別名,您可以運行Get-Alias

使用.Net方法嘗試輸出:

[system.console]::WriteLine("My Output")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM