首页 > 解决方案 > 伪造脚本中的编译错误未在 TeamCity 构建失败摘要中显示特定失败

问题描述

在 TeamCity 上使用 Fake 5.0。在 5.0 之前,如果存在编译错误,则该错误将在构建失败摘要中可见。但是,如果出现错误,现在转到 5.0,摘要中的详细信息是 Fake 的通用输出。

TeamCity 错误摘要

为了进行诊断,您必须随后挖掘日志以查找编译错误。

这可能不是特定于 TeamCity,因为从控制台报告了相同的输出。

想知道是否存在我在运行假的方式或如何配置需要设置以允许实际错误传播的任务的方式中缺少的配置。

使用 bash 从 TeamCity 运行构建脚本:

%env.BashPath% build.sh run build.fsx

根据入门示例的 Bash 脚本:

#!/usr/bin/env bash

set -eu
set -o pipefail

# liberated from https://stackoverflow.com/a/18443300/433393
realpath() {
  OURPWD=$PWD
  cd "$(dirname "$1")"
  LINK=$(readlink "$(basename "$1")")
  while [ "$LINK" ]; do
    cd "$(dirname "$LINK")"
    LINK=$(readlink "$(basename "$1")")
  done
  REALPATH="$PWD/$(basename "$1")"
  cd "$OURPWD"
  echo "$REALPATH"
}

TOOL_PATH=$(realpath .fake)
FAKE="$TOOL_PATH"/fake

if ! [ -e "$FAKE" ]
then
  dotnet tool install fake-cli --tool-path $TOOL_PATH --version 5.*
fi
"$FAKE" "$@"

运行 MSBuild 任务:

Target.create "Build" (fun _ ->
  solutionFile
  |> MSBuild.build (fun p ->
        { p with
            ToolsVersion = Some "15.0"
            Verbosity = Some(Quiet)
            Targets = ["Build"]
            Properties = ["Optimize", "True"
                          "DebugSymbols", "True"
                          "Configuration", "Release"
                          "RunCodeAnalysis", "True"
                          "CodeAnalysisGenerateSuccessFile", "False"]
         }))

标签: teamcityf#-fakef#-fake-5

解决方案


推荐阅读