Использование Fake 5.0 в TeamCity. До версии 5.0, если произошла ошибка компиляции, ошибка будет видна в сводке об ошибках сборки. Тем не менее, теперь переход на 5.0, если есть ошибка, подробности в сводке - это общий вывод Fake.
Чтобы выполнить диагностику, вы должны просмотреть журналы, чтобы найти ошибку компиляции.
Это может не относиться к TeamCity, поскольку с консоли выводятся одинаковые результаты.
Интересно, есть ли какая-то конфигурация, которую мне не хватает ни в способе запуска фальшивки, ни в том, как сконфигурированы задачи, которые необходимо установить, чтобы позволить распространению фактической ошибки.
Запуск скрипта сборки из TeamCity с использованием bash:
%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"]
}))