我正在尝试使用Jenkins来运行单元测试。我已经通过构建步骤“使用MSBuild构建Visual Studio项目”为构建项目创建了一个Jenkins项目。我的Jenkins服务器安装在Azure中的linux vm上。
您可以在Jenkins用户界面中看到它:
运行构建时,我会收到以下控制台输出:
Path To MSBuild.exe: msbuild.exe
FATAL: Unable to use this plugin on this kind of operation system
Executing the command msbuild.exe /ContinuousIntegration/ContinuousIntegration.sln from
/var/lib/jenkins/workspace/CSHARP_CI_TEST - UNITTEST
[CSHARP_CI_TEST - UNITTEST] $ msbuild.exe
/ContinuousIntegration/ContinuousIntegration.sln
Build step 'Build a Visual Studio project or solution using MSBuild' changed
build result to FAILURE
Build step 'Build a Visual Studio project or solution using MSBuild' marked
build as failure
Finished: FAILURE
我认为这里的问题是我试图在Linux VM上使用msbuild.exe。有解决方法吗?还是无法做到这一点?
我试图通过Linux终端在vm上使用msbuild.exe,但是无法运行它。
答案 0 :(得分:0)
要满足您的要求,您必须在Azure Jenkins Linux VM中安装“ .NET Core SDK”,然后可以仅通过命令“ dotnet build ContinuousIntegration / ContinuousIntegration.sln”使用“ Execute shell”构建步骤
要在Azure Jenkins Linux VM中安装“ .NET Core SDK”,请转到https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install,然后在该页面上单击“ Linux”,然后选择所需的Linux发行版并按照提供的步骤进行操作。
有关各种操作系统上的MSBuild支持的详细信息,请参阅https://github.com/Microsoft/msbuild/blob/master/documentation/wiki/Building-Testing-and-Debugging-on-.Net-Core-MSBuild.md
仅供参考,我已经测试并重现了您的方案,并遇到了您提到的相同错误,然后我按照上述过程进行操作并成功解决了该问题。因此,我希望这会有所帮助。干杯!
PS:在您的Shell脚本中,您必须CD到正确的文件夹才能正常工作。