我正在尝试在詹金斯(Jenkins)进行测试。我已经停靠了我的测试跑者代码,并且正在使用Dockerized Selenium Hub/Grid。我可以在机器上本地运行所有内容,并希望在Jenkins服务器上进行相同的操作。所有容器都使用Docker Shell命令开始,并且它们都放在同一Docker网络上,以便它们可以进行通信。同样,一切都在本地工作正常,但是当我在Jenkins机器上尝试此操作时,我会收到一条错误消息:
Error forwarding the new session cannot find : Capabilities [{rotatable=false, ...
由于本地完全相同的命令工作,所以我能想到为什么失败的唯一原因是因为容器必须无法在Jenkins机器上进行通信。也许它们是在另一个节点或奴隶上开始的,我不确定。有人在詹金斯机器上运行多个容器的经验吗?还是有人对为什么失败有其他想法?
这个错误是由在运行之间徘徊的共享卷引起的。容器是相同的,但是共享卷的数据是旧的且不正确的,因此在詹金斯环境中运行时的差异。故事的寓意是确保在Docker跑步之间清理所有内容。
如果您使用的是Jenkins容器的Jenkins连接到Selenium-Hub容器的内部IP,而不是通过本地主机或FQDN,