![](/img/trans.png)
[英]Azure Pipeline fails on `dotnet build` with error "command or file was not found"
[英]Linux Jenkins Pipeline dotnet build fails as Pipeline, but not as Freestyle Project
我知道這個問題已經有人問過了,但沒有給出詳細信息,也沒有提供任何答案。 這就是為什么我決定創建一個包含更多細節的問題。 我的 Jenkins 2.289.2 在 Linux VM(Ubuntu 18.04.5 LTS)上運行。 我使用 React 模板創建了一個新的 dotnet 核心 aps.net Web API 項目。 此外,我在存儲庫中添加了一個 Jenkinsfile,內容如下:
node{
stage('Clean and checkout'){
cleanWs()
checkout scm
}
stage('Restore'){
sh 'dotnet restore src/TestProject.sln'
}
stage('Clean'){
sh 'dotnet clean src/TestProject.sln'
}
stage('Build'){
sh 'dotnet build src/TestProject.sln --configuration Release'
}
}
恢復和清理工作正常,但 dotnet build 失敗:
/usr/share/dotnet/sdk/3.1.411/Roslyn/Microsoft.CSharp.Core.targets(70,5): error MSB3883: Unerwartete Ausnahme: [/var/lib/jenkins/workspace/ols.TestProject_development/src/TestProject/TestProject.csproj]
/usr/share/dotnet/sdk/3.1.411/Roslyn/Microsoft.CSharp.Core.targets(70,5): error : System.ComponentModel.Win32Exception (11): Resource temporarily unavailable [/var/lib/jenkins/workspace/ols.TestProject_development/src/TestProject/TestProject.csproj]
奇怪的是,如果我使用膩子並導航到 /var/lib/jenkins/workspace/ols.TestProject_development 並運行 dotnet build src/TestProject.sln --configuration Release 它工作得很好。 如果我使用一個 shell 構建步驟創建一個 Jenkins 自由式項目,它也可以正常工作:
dotnet restore src/TestProject.sln
dotnet clean src/TestProject.sln
dotnet build src/TestProject.sln --configuration Release
我也嘗試過:
安裝 dotnet core SDK 5.0 而不是 3.1
使用 Jenkins 插件 .NET SDK 支持和使用:
dotnetBuild project: 'src/TestProject.sln'
沒有任何效果,我不知道為什么它會作為管道構建失敗,而不是作為自由式項目。 請幫幫我。
結果證明這是我的提供商 STRATO 的問題。 我使用的 linux v-server 導致了這個問題。 眾所周知,你不能在他們的服務器上運行 microk8s。 更改為另一個 v-server 后,所描述的 Jenkins 問題就消失了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.