[英]Tests fail ran by gitlab-ci, but not ran in bash
我正在使用gitlab-ci自动构建C ++项目并运行以python编写的单元测试(它运行守护程序,然后通过基于网络/套接字的接口进行通信)。
我发现的问题是,当测试由GitLab-CI运行程序运行时,它们由于各种原因而失败(对于一个测试,它会在特定的网络操作上无限期地停止,而在另一个测试中,它不会接收到一个应该已经发送)。
但是:当我打开SSH并手动运行测试时,它们都可以成功运行(这些测试在我们所有开发人员的计算机[linux / windows / OSX]上也都可以成功)。
在这一点上,我一直在尝试复制gitlab-ci正在使用的足够的构建/测试条件,但是我真的不知道任何确切的细节,而且我的实验都没有重现该问题。
我非常感谢以下任何一项的帮助:
旁白1:由于某种原因,通常会发送到shell的所有(大部分是调试的)输出并未显示在gitlab-ci输出中。
旁白2:我也尝试过使用jenkins进行设置,但是其中一项测试甚至无法连接到守护程序,而其余测试则可以正常进行。
-i通常通过仅对跑步者使用docker容器并在其中运行测试来复制问题,不知道您是否具有这样的设置=(。-通常,如果您登录该容器,则测试实际上不会失败他实际上做了所有事情,但是不向Gilab CI报告,不要惊慌,它只是在说它而已。
PS:您可以通过检查计算机上的进程来查看其是否真正运行。
示例:我使用Java和docker运行gitlab ci:
gitlab ci开始执行其操作,然后挂起下载,同时我登录容器,并检查他是否确实在工作,并设法上传了我编译的docker映像。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.