2015-11-30 69 views
0

我的TFS构建系统只需拨打一个PowerShell脚本,做汇编(通过的MSBuild),封装应用,部署数据库,等等TFS建立呼叫CMD没有完成

不幸的是,我不明白为什么脚本不会完成。我尝试退出0,调用exit 0,但它总是通过超时结束:

> Build succeeded. 
>  0 Warning(s) 
>  0 Error(s) Time Elapsed 00:00:13.48 
>  "MOVING APK IN SHARED FOLDER" 
>  1 file(s) copied. 
>  "SUCCESS !" 
>  C:\Build\SmartLingo>exit 0 

然后构建保持运行........永远,直到一个小时(或直到我停止它自己)。

我终于发现,这是负责的这个无感线路如下:

call "C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe" /p:Configuration=Debug;Platform=Android;MDAVSIXDIR="%PROGRAMFILES(x86)%\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\ApacheCordovaTools";NODEJSDIR="%PROGRAMFILES(x86)%\nodejs";NPMINSTALLDIR="%APPDATA%\npm";LANGNAME="en-us";BUILDVERBOSITY=Normal C:\Build\Test\Test.jsproj 

如此看来,这个编译执行的线程或类似的东西,并没有完成......

任何想法如何使其工作? 谢谢

+0

[开始 - 作业](http://stackoverflow.com/questions/9756924/managing-the-running-time-of-background-jobs-timing-out-if-not-completed-after)以及设置超时。 – lloyd

+0

启动作业将启动脚本,如果达到超时,则会失败。这不是我想要的。我的工作大约需要1分钟,我只是想在我的bash脚本结尾处理TFS理解脚本已经完成并且可以成功。 – Adavo

+0

所以你的黑匣子脚本不能正常工作。请参阅[如何问](http://stackoverflow.com/help/how-to-ask) – lloyd

回答

1

如果您使用TFS 2015,我强烈建议您考虑切换到不依赖于MSBuild的新构建系统。您现在可以使用tutorial甚至Visual Studio Team Services extension

但是,如果您使用的是TFS 2013并且必须依赖MSBuild,则可能会遇到一个问题,您可以专门针对Android运行该问题,这是由最近版本的Cordova启动的可导致问题的守护进程造成的描述。

tutorial已经更新,也有一些改进与更新TACO 5,但在这里,对这个特定问题的总结:

在使用以下内容您的项目挂钩\ after_compile文件夹中创建stopGradle.cmd:

IF EXIST platforms\android platforms\android\gradlew --stop

您还需要指定DebuggerFlavor得到它建立一个APK。详细信息请查看tutorial