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
我也试过:
正在安装 dotnet core SDK 5.0 而不是 3.1
使用Jenkins插件.NET SDK支持和使用:
dotnetBuild project: 'src/TestProject.sln'
没有任何效果,我不知道为什么它作为管道构建会失败,但作为自由式项目却不会。请大家帮帮我。
原来是我的提供商 STRATO 的问题。
我使用的 linux v-server 导致了这个问题。众所周知,您不能 运行 microk8s 在他们的服务器上。换了个v-server之后,描述的Jenkins issue就没有了
我知道这个问题已经被问过了,但是没有给出细节,也没有提供答案。这就是为什么我决定创建一个包含更多细节的问题。 我在 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
我也试过:
正在安装 dotnet core SDK 5.0 而不是 3.1
使用Jenkins插件.NET SDK支持和使用:
dotnetBuild project: 'src/TestProject.sln'
没有任何效果,我不知道为什么它作为管道构建会失败,但作为自由式项目却不会。请大家帮帮我。
原来是我的提供商 STRATO 的问题。 我使用的 linux v-server 导致了这个问题。众所周知,您不能 运行 microk8s 在他们的服务器上。换了个v-server之后,描述的Jenkins issue就没有了