2016-09-20 44 views
1

我已將Windows 7 VM配置爲我的TFS2015安裝程序的代理程序。如何防止TFS代理程序在後臺運行Gradle作業

我創建了一個搖籃(調用gradlew.bat)任務從TFS生成定義

gradlew.bat clean test aggregate 

這工作正常(我可以看到被調用IE)當我運行它運行我的硒腳本手動直接從VM啓動,但是當它作爲一個作業觸發時,它只能在後臺運行。這裏是我的觀察:

  1. 進程 - Java,iexplorer,IEDriver.exe都在進程管理器中調用。
  2. 當我殺死iexplorer進程時,我可以在TFS控制檯上看到UnreachableBrowserException,然後運行下一個測試用例。
  3. 有兩個測試用例(大約3-4分鐘)的作業在運行10分鐘後失敗,我在TFS控制檯中看到錯誤日誌
  4. 腳本在用戶界面上第一次設置時運行,但從未之後運行。

我正在使用Gradle 3.0,並通過在gradle.properties中添加org.gradle.daemon = false來禁用了Gradle守護程序。這一直在困擾我幾天如此糟糕。

任何幫助將是偉大的。

+0

是您的生成代理運行交互或作爲一種服務? – jessehouwing

+0

它作爲服務運行 – AyeVeeKay

回答

0

爲了讓您的測試與桌面交互,他們需要在已登錄且未鎖定的計算機上交互運行(無屏保活動)。

參見:https://www.visualstudio.com/en-us/docs/build/admin/agents/v2-windows#interactive

您可以將機器配置爲自動啓動和啓動時進行身份驗證,禁用scren鎖定策略和屏保和run.cmd添加到Windows啓動部分中的星菜單。

參見:http://donovanbrown.com/post/2015/08/28/auto-start-build-agent-in-interactive-mode

  • Windows鍵 + [R打開運行對話框
  • 鍵入以下並按回車鍵: control userpasswords2
  • 取消選中爲用戶框必須輸入一個用戶名和密碼來使用這臺電腦。
  • 點擊應用按鈕
  • 您將通過一個提示對話框
  • 自動登錄用戶
  • 點擊OK
  • 點擊輸入密碼上的用戶OK帳戶對話框

and

  • 右鍵單擊桌面
  • 選擇新建/快捷方式
  • 輸入cmd
  • 點擊下一步
  • 更改啓動代理
  • 點擊完成
  • 右鍵單名點擊新的快捷方式
  • 選擇屬性
  • 追加/c {pathTo\run.cmd}到目標
  • 如果您安裝代理到C:\代理,你的目標應該是這樣的:C:\Windows\System32\cmd.exe /c c:\agent\agent\run.cmd
  • 點擊OK

注:更新爲2.0構建代理,它使用run.cmd而不是vsoagent.exe開始

  • Windows鍵+[R在以下 shell:startup
  • 點擊OK
  • 這將在Windows資源管理器打開啓動文件夾中打開運行對話框
  • 類型。
  • 拖放快捷方式拖放到該文件夾​​
+0

優秀。奇蹟般有效。 – AyeVeeKay