我尝试使用spark-py镜像在bitbucket管道中运行pytest测试。下面是我的bitbucket-pipelines.yml文件:
image: apache/spark-py:v3.3.2
pipelines:
default:
- step:
name: PyTest with PySpark
script:
- pip install --upgrade pip
- pip install -r requirements.txt
- pytest -v tests/* --junitxml=test-results/report.xml
字符串
最常见的问题是找不到测试报告:
在名为[test-results,failsafe-reports,test-reports,TestResults,surefire-reports]的目录中搜索测试报告文件,深度为4已完成测试报告扫描。找到0个测试报告文件。合并的测试套件,测试总数为0,0个失败和0个错误。
我看不到pytest的任何输出,尽管有-v选项。
当在一个简单的Dockerfile中运行相同的镜像时,一切都很好:
FROM apache/spark-py:v3.3.2
USER root
# Copy the requirements file into the container
COPY requirements.txt /
# Install pytest and any additional dependencies
RUN pip install --upgrade pip
RUN pip install -r /requirements.txt
# Copy the source code into the container
COPY . /app
WORKDIR /app
CMD ["pytest"]
型
即使在尝试回显某些东西时,管道通过了,我也没有得到任何输出。出了什么问题?我如何调试?我如何真正看到任何东西?
谢谢你,谢谢
谷歌了很多,并要求聊天gpt。我期待看到某种输出,无论是从测试与-v选项或任何东西在所有真的
1条答案
按热度按时间avwztpqn1#
我遇到了同样的问题,根本原因是apache/spark-py镜像中的默认用户没有将其输出写入/tmp的权限,Bitbucket在其中查找日志输出等。
我通过如下所示更改映像的管道配置来解决日志记录问题,以uid 0运行:
字符串
我在Atlassian知识库中找到了这个解决方案:https://confluence.atlassian.com/bbkb/pipelines-build-completed-without-any-build-logs-1224641345.html