jenkins如何在docker容器里批量执行shell脚本

这样一个场景,我写好了接口自动化脚本,通过jenkins和dockerfile自动创建并启动了容器,为了方便跑脚本,希望通过build一个jenkins任务就能完成我的接口自动化测试,但是我通过jenkins无法进入容器批量运行脚本,这个能够怎么处理么?

cd /opt/tesst/tescases && pwd && hrun cno login.yml

试过这个,第二句就不在容器里了,而是在jenkins的workspace里

运行结果,请截图?

docker exec 容器名 sh -c "cd /opt/tesst/tescases && pwd && hrun cno login.yml"

docker 中有什么前台进程吗?docker 中如果没有前台进程就会直接退出,例如运行 centos 基础镜像后跟的是 pwd 那么容器运行完 pwd 会直接退出。不太清楚具体情况,个人觉得如果不好处理的话是不是可以写一个 shell 脚本然后把宿主机的目录挂载或者在 dockerfile 中 COPY 进去,在 dockerfile 最后执行 CMD ["sh","run.sh"]

docker file需要开一个死循环bash脚本,不然执行完命令会自动退出

写一个shell校本处理