Ubuntu Jenkins добавляет пути окон когда сборка

Я пытаюсь создать свое базовое приложение asp.net с помощью Jenkins, который размещается с Tomcat8 на машине Ubuntu 16.04. Первая сборка успешно выполняется, но при запуске сборок после этого они перестали работать (не изменяя кода), потому что Jenkins делает что-то странное с расположением файлов.

Заявка подается на машине окон. После продвижения в репозиторий мерзавца Jenkins вытягивает источник и запускает сборку.

Это - сценарий сборки, который я использую:

dotnet restore
dotnet build --output "<path to workspace>/build"
dotnet publish --output "<path to workspace>/publish"

Как я сказал прежде, в первый раз, когда эта сборка успешно выполняется, и я могу развернуть свое веб-приложение. Во второй раз, когда я пытаюсь создать, это - то, что происходит:

+ dotnet restore
  Restore completed in 45.32 ms for /usr/share/tomcat8/.jenkins/workspace/Memiro/MemiroFrontend/Memiro.FrontEnd/Memiro.FrontEnd.csproj.
  Restore completed in 30.38 ms for /usr/share/tomcat8/.jenkins/workspace/Memiro/MemiroFrontend/Memiro.FrontEnd/Memiro.FrontEnd.csproj.
[MemiroFrontend] $ /bin/sh -xe /tmp/tomcat8-tomcat8-tmp/jenkins4348889529144999043.sh
+ dotnet build --output /var/www/dotnet-app/memiro-frontend/build
Microsoft (R) Build Engine version 15.3.409.57025 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

/usr/share/dotnet/sdk/2.0.0/Sdks/Microsoft.NET.Sdk/build/Microsoft.PackageDependencyResolution.targets(323,5): error : Assets file '/usr/share/tomcat8/.jenkins/workspace/Memiro/MemiroFrontend/Memiro.FrontEnd/C:/Users/Menno/source/repos/MemiroFrontEnd/Memiro.FrontEnd/obj/project.assets.json' not found. Run a NuGet package restore to generate this file. [/usr/share/tomcat8/.jenkins/workspace/Memiro/MemiroFrontend/Memiro.FrontEnd/Memiro.FrontEnd.csproj]
/usr/share/dotnet/sdk/2.0.0/Sdks/Microsoft.NET.Sdk/build/Microsoft.PackageDependencyResolution.targets(165,5): error : Assets file '/usr/share/tomcat8/.jenkins/workspace/Memiro/MemiroFrontend/Memiro.FrontEnd/C:/Users/Menno/source/repos/MemiroFrontEnd/Memiro.FrontEnd/obj/project.assets.json' not found. Run a NuGet package restore to generate this file. [/usr/share/tomcat8/.jenkins/workspace/Memiro/MemiroFrontend/Memiro.FrontEnd/Memiro.FrontEnd.csproj]

Build FAILED.

По некоторым причинам путь окон к файлам добавляется к пути человечности.

Почему путь окон добавляется во время второй сборки?

Как я решаю эту проблему?

0
задан 13 October 2017 в 13:47

1 ответ

Я исправил эту проблему с помощью параметра --runtime.

dotnet build --runtime ubuntu.16.04-x64 --output "<path to workspace>/build"

Устанавливая эту опцию, команда dotnet знает, для какой среды она должна быть построена. Это предотвращает путаницу в пути.

0
ответ дан 2 November 2019 в 03:14

Другие вопросы по тегам:

Похожие вопросы: