0

我知道这个问题已经被问过了,但没有给出任何细节,也没有提供答案。这就是为什么我决定创建一个包含更多细节的问题。我的 Jenkins 2.289.2 在 Linux VM(Ubuntu 18.04.5 LTS)上运行。我使用 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

我也尝试过:

  • 安装 dotnet core SDK 5.0 而不是 3.1

  • 使用 Jenkins 插件 .NET SDK 支持和使用:

    dotnetBuild project: 'src/TestProject.sln'

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

4

1 回答 1

0

原来是我的提供商 STRATO 的问题。我使用的 linux v-server 导致了这个问题。众所周知,您不能在他们的服务器上运行 microk8s。更改为另一个 v-server 后,所描述的 Jenkins 问题就消失了。

于 2021-07-21T18:55:10.747 回答