devenv.exe通过jenkin的工作执行并不起作用

时间:2014-02-06 07:55:29

标签: jenkins devenv

我正在尝试通过Jenkins中的windows批处理命令插件执行devenv.exe 但它继续执行并无法启动应用程序。

控制台输出:

**In progressConsole Output
Started by user anonymous
Building on master in workspace C:\Program Files (x86)\Jenkins\jobs\TEMP\workspace
[workspace] $ cmd /c call C:\Windows\TEMP\hudson3900292017086958332.bat
C:\Program Files (x86)\Jenkins\jobs\TEMP\workspace>set DEVPATH=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE 
C:\Program Files (x86)\Jenkins\jobs\TEMP\workspace>set PATH=D:\app\nazopay\product\11.2.0\dbhome_1\bin;D:\app\nazopay\product\11.2.0\client_1;C:\Program Files (x86)\Integrity\IntegrityClient10\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\cde\tools;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Java\jdk1.6.0_23\bin\;C:\Program Files (x86)\Google\Chrome\Application;C:\MingW;C:\PROGRA~2\INTEGR~1\Toolkit\mksnt;%JAVA_HOME%;,;C:\Program Files\Java\jdk1.6.0_23;,;C:\Program Files\Java\jdk1.6.0_23\bin;%CLASS_PATH%;,;C:\Program Files\Java\jdk1.6.0_23\lib;,;C:\Program Files\Java\jdk1.6.0_23\lib;;C:\Program Files (x86)\M**icrosoft Visual Studio 10.0\Common7\IDE 

C:\Program Files (x86)\Jenkins\jobs\TEMP\workspace>devenv.exe

2 个答案:

答案 0 :(得分:6)

您必须执行devenv.com

devenv.exe总是尝试打开GUI,即使给出了命令,也不能。 devenv.com的输出指向标准输出,并且可以从Jenkins中正常工作。

您还必须传递参数。

如果没有参数devenv.comdevenv.exe,只需启动IDE GUI,这不是您想要的。正确的命令行是

devenv.com projectname.sln /Build Release /Project projectname

首先是您要构建的解决方案的路径。然后/Build标志后面是配置。如果您有多个平台,则必须通过配置和平台组合,例如Release|Win32。要构建的/Project标志名称项目(包括所有依赖项)。如果省略,它将构建在给定配置中选择用于构建的所有项目。

答案 1 :(得分:2)

为什么不使用msbuild?

这将是您的Windows构建脚本的一个很好的起点:

call "%VS100COMNTOOLS%\vsvars32.bat"
msbuild projectname.sln /target:Rebuild /l:FileLogger,Microsoft.Build.Engine;logfile=msbuild.log || goto error
goto end
:error
@echo ERROR: Build failed
exit/b 1
:end
exit/b 0

这样您还可以捕获可以使用其中一个jenkins插件解析的输出日志。 当然,将VS100COMNTOOLS调整为您的MSVS版本