Gitlab CI 带写入输出的 Powershell

Gitlab CI Powershell with Write-Output

我有一个从 Gitlab CI 管道执行的 powershell 构建脚本。

当 运行 手动(在构建服务器上)构建脚本 运行 没问题,但是当由 Gitlab CI 运行 执行时:

  1. 一小时后超时(运行 秒,如果手动 运行 约 20 分钟)
  2. 不将 Write-Output 语句回显到构建日志中

因此从 Gitlab CI 执行时出现了问题。但是,由于 Write-Output 语句未显示在构建日志中,因此没有解决此问题的真正方法。

我需要做什么才能让 Write-Output 语句显示在构建日志中?我原以为任何 STDOUT 消息都会显示在那里,但它们没有通过。

这里的答案是将 PowerShell 设置为 shell 在 gitlab runner 中使用。 这是通过将以下行添加到 gitlab runners config.toml 文件来完成的:

shell = "powershell"

现在文件可以正确执行并且 Write-Output 语句在构建日志中得到回显。