Linux Jenkins Pipeline dotnet build 作为 Pipeline 失败,但作为 Freestyle Project 失败

Linux Jenkins Pipeline dotnet build fails as Pipeline, but not as Freestyle Project

我知道这个问题已经被问过了,但是没有给出细节,也没有提供答案。这就是为什么我决定创建一个包含更多细节的问题。 我在 Linux VM (Ubuntu 18.04.5 LTS) 上安装了 Jenkins 2.289.2 运行ning。 我使用 React 模板创建了一个新的 dotnet core 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 构建失败并显示:

/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]

很奇怪,如果我使用 putty 并导航到 /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

我也试过:

没有任何效果,我不知道为什么它作为管道构建会失败,但作为自由式项目却不会。请大家帮帮我。

原来是我的提供商 STRATO 的问题。 我使用的 linux v-server 导致了这个问题。众所周知,您不能 运行 microk8s 在他们的服务器上。换了个v-server之后,描述的Jenkins issue就没有了