gpt4 book ai didi

bash - 使用 VSTS Shell 脚本 CI 任务时如何生成后台进程

转载 作者:行者123 更新时间:2023-11-29 09:15:27 28 4
gpt4 key购买 nike

我正在尝试在 CI 进程中运行 androidTests。我为此使用 VSTS 构建定义。在测试之前,我必须启动 Android Emulator。我可以使用 Shell 脚本任务来启动模拟器,但由于我无法在后台启动进程,构建流程无法继续下一步。我已经尝试了下面列出的所有可能性:

nohup $ANDROID_HOME/tools/emulator @emulatorForUITests
nohup $ANDROID_HOME/tools/emulator @emulatorForUITests &
$ANDROID_HOME/tools/emulator @emulatorForUITests &

但模拟器仍在前台运行。我做错了什么还是 VSTS 安全功能?如何在后台启动模拟器?

更新(回答评论中的问题):

  • 在前台启动模拟器会阻止构建过程,因此它必须是非阻塞(后台)任务。模拟器开始于前景(在 UI 中)无论如何。如果我使用相同的脚本启动它,但是直接从终端而不是 VSTS,模拟器启动,测试是运行,一切正常
  • 我使用自己的代理(在 macOS 上)

更新 2:从 VSTS 构建日志:

(...)
2017-07-14T10:11:31.8195010Z emulator: WARNING: userdata partition is resized from 550 M to 800 M
2017-07-14T10:11:31.8202870Z
2017-07-14T10:11:31.8217150Z Hax is enabled
2017-07-14T10:11:31.8230410Z Hax ram_size 0x40000000
2017-07-14T10:11:31.8246000Z HAX is working and emulator runs in fast virt mode.
2017-07-14T10:11:34.0594360Z coreaudio: Could not initialize record - Unknown Audiodevice
2017-07-14T10:11:34.0627730Z coreaudio: Could not initialize record - Unknown Audiodevice
2017-07-14T10:11:34.0649440Z audio: Failed to create voice `goldfish_audio_in'
2017-07-14T10:11:34.0671380Z qemu-system-i386: warning: opening audio input failed
2017-07-14T10:11:34.0875870Z coreaudio: Could not initialize record - Unknown Audiodevice
2017-07-14T10:11:34.0888750Z coreaudio: Could not initialize record - Unknown Audiodevice
2017-07-14T10:11:34.0902400Z audio: Failed to create voice `adc'
2017-07-14T10:11:34.5066290Z emulator: emulator window was out of view and was recentered
2017-07-14T10:11:34.5078580Z

由于模拟器不是后台进程,VSTS 等待 emulator 进程完成。

最佳答案

如果使用 & 运行命令并将输出发送到/dev/null,则可以在后台启动模拟器。我们进行了一些试验和错误,只有当我们将输出路由出去时它才有效,我猜 bash 任务不知道它应该完成,否则。

这是我们运行以启动模拟器的行的示例:

$ANDROID_HOME/tools/emulator -avd emulator &>/dev/null &

关于bash - 使用 VSTS Shell 脚本 CI 任务时如何生成后台进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45103650/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com