我已经在Windows Server 2012上安装了Jenkins,这一切都运行良好。但是,一旦我尝试配置MSBuild和VS Code指标插件,我收到以下错误:
C:\ Windows \ Microsoft.NET \ Framework \ v3.5 \ msbuild.exe不是Jenkins主服务器上的目录(但可能存在于某些从服务器上)
我检查了路径并且它们是正确的,但Jenkins无法访问它们。
任何人都可以建议可能出错的地方。
由于
答案 0 :(得分:16)
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe C:\Program Files (x86)\MSBuild\12.0\Bin\MSBuild.exe
詹金斯非常关心你的要求。 MSBuild.exe
是可执行文件,而不是报告的目录。输入框期望您识别包含MSBuild.exe 的文件夹,但执行的作业 MSBuild希望您提供文件名。 Job和Configuration Manager之间的这种不一致的方法是Add the MSBuild
插件配置,而不在Path to MsBuild
输入中提供可执行文件的名称,以满足"添加插件的验证要求&# 34;页。
添加插件后,您可以修改Path to MsBuild
以包含可执行文件的名称(当然,这是MSBuild.exe
),而不是验证错误,您将收到警告。
Ignore the warning. Save it anyway.
它将绕过添加插件所需的初始验证,并且只会工作。"
您的Jenkins服务可能仍然需要被授予对文件系统的访问权限,以允许它与桌面交互"正如其他海报所提到的那样。
但是您的主要问题是插件配置与使用该配置的代理冲突,并且为了使用该插件执行构建,您必须使用解决方法。
答案 1 :(得分:6)
我有同样的问题,我的解决方案是:
如果您将Jenkins作为Window的服务运行,您可能需要启用该服务才能与桌面交互。执行以下操作:
打开服务模块(按:WindowsKey + R> Services.msc)
- 或 -
您可以通过命令行运行Jenkins。即:" java -jar jenkins.war" (jenkins.war文件位于Jenkins安装目录中。)
干杯,
学家
答案 2 :(得分:5)
从路径中的msbuild.exe末尾删除扩展名“.exe”,以避免出现警告:C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild
。
答案 3 :(得分:3)
所以你有两个Jenkins服务器,一个是master(没有msbuild),另一个是slave(这个有一个msbuild)。当您的作业运行时(在主服务器上),msbuild步骤失败,因为它在主服务器上不存在。
您需要强制您的作业仅在使用msbuild的服务器上运行,而不是在主服务器上运行。这是你如何做到这一点:
msbuild
msbuild
答案 4 :(得分:0)
好
C:\Windows\Microsoft.NET\Framework\v3.5\
?答案 5 :(得分:0)
我也看到" ...不是詹金斯大师的目录......"错误消息,但是当我尝试构建它时仍然有效。
不要忘记为您的项目选择MS Build版本而不是(默认)。
答案 6 :(得分:0)
看起来这个问题已在1.26版本中得到解决:JENKINS-28679