繁体   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