环境:
- 泊坞窗插件版本:1.1.2;
- 詹金斯版本:2.0.50727;
- docker客户端/服务器版本:17.12.0-ce;
- 赢 10 专业版 x64;
场景 1: 我尝试使用以下命令通过 Jenkinsfile 运行 Selenoid 映像:
stage('Start services') {
docker.image('aerokube/selenoid').
run('--name selenoid ' +
'-p 4444:4444 ' +
'-v C:/workspace/selenoid:/etc/selenoid ' +
'-v C:/workspace/output:/opt/selenoid/video ' +
'-v //var/run/docker.sock:/var/run/docker.sock ' +
'-e "OVERRIDE_VIDEO_OUTPUT_DIR=/C/workspace/output/"')
}
实际结果: 容器已创建,我在 docker ps 输出中看到 Selenoid 容器。
场景二:
当我在一个点之后添加任何命令时 - 容器不会创建。请参阅以下内容:
stage('Start services') {
docker.image('aerokube/selenoid').
run('--name selenoid ' +
'-p 4444:4444 ' +
'-v C:/workspace/selenoid:/etc/selenoid ' +
'-v C:/workspace/output:/opt/selenoid/video ' +
'-v //var/run/docker.sock:/var/run/docker.sock ' +
'-e "OVERRIDE_VIDEO_OUTPUT_DIR=/C/workspace/output/"',
'-video-output-dir /output')
}
在这种情况下,我添加了-video-output-dir /output
. 顺便说一句,我尝试在一个点之后添加下一个命令:
-limit 10
, -conf /etc/selenoid/browsers.json
-> 但仍然无济于事。
另外,请参阅 Jenkins 工作的以下日志:
[Pipeline] sh
[C:\Jenkins\workspace\pplication_react-app_master-6UL22J3ZHJJMMTIKZO5LDRETFMNMM4TSEGGCZJKAGTM5HBOEAEYQ] Running shell script
+ docker run -d --name selenoid -p 4444:4444 -v C:/workspace/selenoid:/etc/selenoid -v C:/workspace/output:/opt/selenoid/video -v //var/run/docker.sock:/var/run/docker.sock -e OVERRIDE_VIDEO_OUTPUT_DIR=/C/workspace/output/ aerokube/selenoid -video-output-dir /output
[Pipeline] dockerFingerprintRun
[Pipeline] bat
[pplication_react-app_master-6UL22J3ZHJJMMTIKZO5LDRETFMNMM4TSEGGCZJKAGTM5HBOEAEYQ] Running batch script
C:\Jenkins\workspace\pplication_react-app_master-6UL22J3ZHJJMMTIKZO5LDRETFMNMM4TSEGGCZJKAGTM5HBOEAEYQ>docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Docker ps
命令输出为空...
我做错了什么?也许我没有args
转移到 run() 部分?