大家好,我目前正在Docker镜像中使用gitlab,也在Docker镜像中使用Gitlab Runner,到目前为止一切正常。
我在管道的一个阶段使用make构建项目。在那里我为linux os构建了一个插件。这个构建在管道中的随机位置不断失败(我随机确定它是因为日志输出的行号)如果我打开日志文件的原始文件,它几乎有类似的大小。请参阅此日志输出示例:
../src/legacy/PepeBuf.h: In instantiation of ‘PepeBuf<BufferType>::ElementID PepeBuf<BufferType>::findElementID(TimeEx, PepeBuf<BufferType>::ElementID, PepeBuf<BufferType>::ElementID) const [with BufferType = PepeBuf<Spectrum>; PepeBuf<BufferType>::ElementID = BufferElementID]’:
../src/legacy/PepeDoc.h:2032:70: required from here
../src/legacy/PepeBuf.h:459:69: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
459 | this->_elementIndex == UndefinedBufferElementID && !this->_elementCount);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../src/legacy/PepeBuf.h:458:13: note: in expansion of macro ‘ASSERT’
458 | ASSERT(this->_elementIndex < this->_numElements ||
| ^~~~~~
../src/legacy/PepeBuf.h: In instantiation of ‘PepeBuf<BufferType>::ElementID PepeBuf<BufferType>::findElementID(TimeEx, PepeBuf<BufferType>::ElementID, PepeBuf<BufferType>::ElementID) const [with BufferType = PepeBuf<EllipseData>; PepeBuf<BufferType>::ElementID = BufferElementID]’:
../src/legacy/PepeDoc.h:2106:70: required from here
../src/legacy/PepeBuf.h:459:69: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
459 | this->_elementIndex == UndefinedBufferElementID && !this->_elementCount);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../src/legacy/PepeBuf.h:458:13: note: in expansion of macro ‘ASSERT’
458 | ASSERT(this->_elementIndex < this->_numElements ||
| ^~~~~~
../src/legacy/PepeBuf.h: In instantiation of ‘PepeBuf<BufferType>::ElementID PepeBuf<BufferType>::findElementID(TimeEx, PepeBuf<BufferType>::ElementID, PepeBuf<BufferType>::ElementID) const [with BufferType = PepeBuf<AudioBlock>; PepeBuf<BufferType>::ElementID = BufferElementID]’:
../src/legacy/Pepe.h:2154:67: required from here
../src/legacy/Pepe.h:459:69: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
459 | this->_elementIndex == UndefinedBufferElementID && !this->_elementCount);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
../src/legacy/Pepe.h:458:13: note: in expansion of macro ‘ASSERT’
458 | ASSERT(this->_elementIndex < this->_numElements ||
| ^~~~~~
ERROR: Job failed: exit code 1
Gitlab Runner中的命令一直失败是make -j ´nproc´ all
在同一个docker镜像中使用此make命令的windows插件构建工作正常。有没有办法获得有关gitlab runner本身的更多信息?为什么他确定作业失败?
Gitlab版本15.9.2-ee Gitlab runner版本15.9.1 docker版本17.06.0-ce,build 02 c1 d87
我也有一个grafana和普罗米修斯与节点出口商运行,他们所以没有显示任何问题的ressources.任何想法,我可以找到更多的信息如何以及为什么这个工作失败了?
1条答案
按热度按时间svmlkihl1#
通过系统日志挖掘,我发现了一个OOM错误。
所以这里的解决方案是从
make -j ´nproc´ all
退回到make -j 1 all
,这不会失败。然后我增加了作业的数量,直到管道再次失败。我最终使用-j 6
构建了一个稳定的管道。有趣的是,Windows版本没有同样的内存不足错误问题。(主机,Docker镜像和管道在Linux和Windows版本中是完全相同的)