2014-02-06 36 views
1

我試圖通過Windows批處理命令插件在詹金斯 執行devenv.exe的,但將繼續執行,並且無法啓動應用程序。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 

回答

4

必須執行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標誌名稱將構建項目(包括所有依賴項)。如果省略,它將構建在給定配置中爲構建而選擇的所有項目。

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 

這種方式,您也可以捕獲輸出的日誌,你可以與詹金斯插件的一個解析。 當然,將VS100COMNTOOLS調整爲您的MSVS版本

+2

在MSVS 8.0(2005)和MSVS 9.0(2008)中,這不適用於C++項目。由於MSVS 10.0(2010)它應該。 –

+0

忘了這個......自從我使用這些版本以來已經有一段時間了...... – uncletall

+0

MSBuild不支持一些像SSRS和SSIS這樣的項目。它最初並不支持SSDT項目,但現在確實如此。 –