shell - 我如何忽略 jenkinsfile 中 shell 命令的连续日志以进入下一步/阶段?
问题描述
我使用 jenkinsfile 在 docker 容器内运行模拟器设备,命令之一是启动模拟器,输出是连续的日志流,如下所示。
+ docker exec mycontainer emulator -avd pixel
emulator: ERROR: AdbHostServer.cpp:102: Unable to connect to adb daemon on port: 5037
pulseaudio: Failed to initialize PA contextaudio: Could not init `pa' audio driver
emulator: ERROR: AdbHostServer.cpp:102: Unable to connect to adb daemon on port: 5037.....etc
问题是詹金斯一直在等待这一步结束,但它永远不会结束,所以我怎么能忽略日志并使詹金斯进入下一阶段。
这是样本
stage('Building Docker') {
steps {
sh label: 'Creating Appium container', script: 'docker run --privileged -d -p 4750:4723 --name mycontainer amrka/ultimate:latest'
sh label: 'Building Emulator', returnStdout: true(i try it with false as well), script: 'docker exec mycontainer emulator -avd pixel'
}
}
解决方案
通过添加解决
shell脚本文件中的模拟器命令并使用-d标志执行,如下所示
sh (label: 'Building Emulator', returnStdout: true, script: "docker exec -d --privileged ${containerName} bash -c './root/start_emu.sh'")
推荐阅读
- assembly - 重复错误使用中断 0x13 将 FAT12 根目录读入内存
- c++ - C++ 为派生类调用正确的方法
- libgdx - 图像不均匀下落运动
- javascript - 为什么我的单例模块似乎有两个实例?
- scala - Fs2 Stream.Compiler 未找到(找不到隐含值 Compiler[[x]F[x],G])
- python - 有没有办法通过沿时间维度计算每个单元格的模式来聚合 xarray DataArray?
- java - 从 facebook 获取用户个人资料图像时引发 Json 异常
- python - 使用 Scrapy 访问图像 URL
- c++ - 将动态创建的对象存储在数组 C++ 中
- python - 将字符串装入预定的模式?