pyspark 在bitbucket管道中使用spark-py image执行pytest测试

ttvkxqim  于 11个月前  发布在  Spark
关注(0)|答案(1)|浏览(103)

我尝试使用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选项或任何东西在所有真的

avwztpqn

avwztpqn1#

我遇到了同样的问题,根本原因是apache/spark-py镜像中的默认用户没有将其输出写入/tmp的权限,Bitbucket在其中查找日志输出等。
我通过如下所示更改映像的管道配置来解决日志记录问题,以uid 0运行:

image: 
  name: apache/spark-py:v3.4.0
  run-as-user: 0  # The default user in the image does not have write rights to /tmp for logging to Bitbucket

字符串
我在Atlassian知识库中找到了这个解决方案:https://confluence.atlassian.com/bbkb/pipelines-build-completed-without-any-build-logs-1224641345.html

相关问题