PowerShell希望在TeamCity

时间:2017-01-23 21:51:24

标签: powershell teamcity

我正在运行PowerShell脚本作为TeamCity中的一个后期构建步骤,并且我一度尝试创建一个空文件作为后续步骤的占位符。我开始使用的代码是:

New-Item $MyPathAndFileName -Force

这在我的ISE机器上工作正常。但是,在TeamCity中执行它会导致整个构建步骤(以及构建配置)失败,并且构建日志条目为:

Windows PowerShell is in NonInteractive mode. Read and Prompt functionality is not available.

然后我附加到我的代码中,最终得到以下内容:

if((Test-Path $MyPathAndFileName) -ne 0)
    {Remove-Item $MyPathAndFileName -Force}
New-Item $$MyPathAndFileName -Force -Confirm:$false -ErrorAction SilentlyContinue -WarningAction SilentlyContinue -InformationAction SilentlyContinue

总是New-Item系列失败。

我的问题是我可以吗

a)让PowerShell写出它试图显示的提示,这样我就可以找错了?或者

b)创建没有提示的新项目?

1 个答案:

答案 0 :(得分:1)

在这个例子中,事实证明我们的TeamCity Server上的一个代理正在运行旧版本的PowerShell,并期望-Type参数命名为“file”。这适用于该行,但后来该代理与后续处理zip文件的脚本行有问题。

由于我们无法升级PowerShell版本,因此我们将临时解决方案设置为构建配置,代理要求,以命名成功运行构建所需的特定代理。

但最重要的是,PowerShell在TeamCity服务器上执行并尝试提示用户的问题占上风。将提示写入构建日志的方法将有助于智能故障查找。

感谢您的回复。