gitlabRunner偶尔会出错

时间:2018-06-19 23:54:43

标签: gitlab gitlab-ci-runner

我在专用VM机器(24GB 12个vCPU和运行者并发性非常低= 6 )上设置了带有运行程序的gitlab。

一切正常,直到我添加了更多浏览器测试-目前为11个。 这些测试处于浏览器测试阶段,并且可以正常启动。

我的问题是,有时成功,有时不成功,完全是随机错误。

有时无法解析,有时无法在页面上找到元素

如果我重新运行这些失败的测试,则所有指示灯都会变绿始终

有人知道这里出了什么问题吗?

顺便说一句...我已经检查过,这个专用VM没有过载...

1 个答案:

答案 0 :(得分:1)

我已经解决了所有最初的问题(到目前为止尚未在完整的机器负载下进行测试),但是,我决定发表一些经验。

首先,我正在尝试gitlab-runner并发(以加快处理速度),结果证明,它确实很快就填满了我的存储空间。因此,对于任何遇到存储缺陷的人,我建议安装this package

其次,我使用了运行程序缓存工件,它们最终使我的测试有些混乱,我相信这是我遇到问题的根本原因

我的观察:

  1. 如果要利用 gitlab-runner 中的缓存,请记住,默认情况下,它仅在运行程序启动的主机上可访问,并且请记住已检索缓存安装之后,这意味着它会覆盖项目中的文件。
  2. 工件稍微灵活一些,因为它们是从gitlab安装中存储/获取的。您应该开发自己的命名约定(使用vars),以便他们控制阶段之间的提取/缓存内容,并确保所有工作正常您会期望的。
  3. 在测试中使用
  4. 缓存/工件时应格外小心和谨慎,因为它们可能会引入大量问题,如果使用不当 ...

旁注:

虽然我的VM机器没有过载,但是当同时运行多个gitlab-runner时,存储的某些滞后会导致网络超时,最终导致Dusk超时...

自2019年2月起更新:

最后,我已经在满负荷下对此进行了测试,并且可以确认我先前的旁注,即关于机器过载的事实。

调整Linux参数以处理运行gitlab-runners的主机上的大负载(最大打开文件,连接,套接字,超时等)后,所有并发测试均通过绿色测试,而没有任何奇怪的偶发错误。

希望它可以帮助任何人配置 gitlab-runners ...