如何在 TFS 代理的后台阻止 Gradle 作业 运行
How to prevent Gradle job running in background on TFS agent
我已将 Windows 7 VM 配置为我的 TFS2015 设置的代理。
我已经创建了一个 Gradle(调用 gradlew.bat)作业到 运行 我的 selenium 脚本,来自 TFS 构建定义
gradlew.bat clean test aggregate
当我直接从 VM 手动 运行 它时,这工作正常(我可以看到 IE 被调用),但是当它作为作业触发时,它 运行 仅在背景。以下是我的观察:
- 进程 - Java、iexplorer、IEDriver.exe 都在进程管理器中被调用。
- 当我终止 iexplorer 进程时,我可以在 TFS 控制台上看到 UnreachableBrowserException 和下一个测试用例 运行s。
- 具有 2 个测试用例(大约 3-4 分钟)的作业在 运行 宁 10 分钟后失败,我在 TFS 控制台中看到错误日志
- UI 上的脚本 运行 我第一次设置它,但之后再也没有 运行。
我正在使用 Gradle 3.0 并通过在 gradle.properties 中添加 org.gradle.daemon=false 禁用了 Gradle 守护进程。这几天一直困扰着我。
任何帮助都会很棒。
为了让您的测试与桌面交互,它们需要 运行 在已登录且未锁定(未激活屏幕保护程序)的计算机上进行交互。
参见:https://www.visualstudio.com/en-us/docs/build/admin/agents/v2-windows#interactive
您可以将机器配置为自动启动并在启动时进行身份验证,禁用屏幕锁定策略和屏幕保护程序并将 run.cmd 添加到 windows 启动部分星级菜单。
参见:http://donovanbrown.com/post/2015/08/28/auto-start-build-agent-in-interactive-mode
- 按Windows键+R打开运行对话框
- 输入以下内容并按回车键:
control userpasswords2
- 取消选中“用户必须输入用户名和密码才能使用此计算机”框。
- 单击应用按钮
- 自动登录对话框会提示您
- 输入用户密码
- 单击确定
- 单击“用户帐户”对话框中的确定
和
- 右键单击桌面
- Select新建/快捷方式
- 输入
cmd
- 点击下一步
- 将名称更改为 Start Agent
- 单击完成
- 右键单击新的快捷方式
- Select 属性
- 将
/c {pathTo\run.cmd}
附加到目标
- 如果您将代理安装到 C:\Agent,您的目标应如下所示:
C:\Windows\System32\cmd.exe /c c:\agent\agent\run.cmd
- 单击确定
注意: 针对 2.0 构建代理进行了更新,它使用 run.cmd
而不是 vsoagent.exe
启动
- 按Windows键+R打开运行对话框
- 输入以下内容
shell:startup
- 单击确定
- 这将在 Windows 资源管理器中打开启动文件夹。
- 将快捷方式拖放到此文件夹
我已将 Windows 7 VM 配置为我的 TFS2015 设置的代理。
我已经创建了一个 Gradle(调用 gradlew.bat)作业到 运行 我的 selenium 脚本,来自 TFS 构建定义
gradlew.bat clean test aggregate
当我直接从 VM 手动 运行 它时,这工作正常(我可以看到 IE 被调用),但是当它作为作业触发时,它 运行 仅在背景。以下是我的观察:
- 进程 - Java、iexplorer、IEDriver.exe 都在进程管理器中被调用。
- 当我终止 iexplorer 进程时,我可以在 TFS 控制台上看到 UnreachableBrowserException 和下一个测试用例 运行s。
- 具有 2 个测试用例(大约 3-4 分钟)的作业在 运行 宁 10 分钟后失败,我在 TFS 控制台中看到错误日志
- UI 上的脚本 运行 我第一次设置它,但之后再也没有 运行。
我正在使用 Gradle 3.0 并通过在 gradle.properties 中添加 org.gradle.daemon=false 禁用了 Gradle 守护进程。这几天一直困扰着我。
任何帮助都会很棒。
为了让您的测试与桌面交互,它们需要 运行 在已登录且未锁定(未激活屏幕保护程序)的计算机上进行交互。
参见:https://www.visualstudio.com/en-us/docs/build/admin/agents/v2-windows#interactive
您可以将机器配置为自动启动并在启动时进行身份验证,禁用屏幕锁定策略和屏幕保护程序并将 run.cmd 添加到 windows 启动部分星级菜单。
参见:http://donovanbrown.com/post/2015/08/28/auto-start-build-agent-in-interactive-mode
- 按Windows键+R打开运行对话框
- 输入以下内容并按回车键:
control userpasswords2
- 取消选中“用户必须输入用户名和密码才能使用此计算机”框。
- 单击应用按钮
- 自动登录对话框会提示您
- 输入用户密码
- 单击确定
- 单击“用户帐户”对话框中的确定
和
- 右键单击桌面
- Select新建/快捷方式
- 输入
cmd
- 点击下一步
- 将名称更改为 Start Agent
- 单击完成
- 右键单击新的快捷方式
- Select 属性
- 将
/c {pathTo\run.cmd}
附加到目标 - 如果您将代理安装到 C:\Agent,您的目标应如下所示:
C:\Windows\System32\cmd.exe /c c:\agent\agent\run.cmd
- 单击确定
注意: 针对 2.0 构建代理进行了更新,它使用 run.cmd
而不是 vsoagent.exe
- 按Windows键+R打开运行对话框
- 输入以下内容
shell:startup
- 单击确定
- 这将在 Windows 资源管理器中打开启动文件夹。
- 将快捷方式拖放到此文件夹