与Jenkins的最佳集成

pw136qt2  于 2022-11-28  发布在  Jenkins
关注(0)|答案(4)|浏览(142)

我可以在我的服务器/usr/local/bin/pytest --junitxml /proj/Results/result.xml /proj/unittests/中运行我的pytest测试。
但是当运行Jenkins构建选项“执行Shell”时,我得到以下错误:

Traceback (most recent call last):

File "/usr/local/bin/pytest", line 6, in <module>     
import pytest

ImportError: No module named pytest Build step 'Execute shell' 
marked build as failure Finished
smdncfj3

smdncfj31#

我做了一些类似于@afxentios建议的事情,因为我在jenkins从机上没有root权限,所以我创建了virtualenv,如下所示:

PYENV_HOME=$WORKSPACE/.pyenv/
virtualenv --no-site-packages $PYENV_HOME
source $PYENV_HOME/bin/activate
pip install -U pytest
pip install -r requirements.txt
py.test test_abc.py 
deactivate
bis0qfac

bis0qfac2#

您需要先安装模块:

pip install -U pytest

编辑:您可以尝试创建一个virtualenv并在其中隔离执行脚本。

#!/bin/bash

export WORKSPACE=`pwd`

# Create/Activate virtualenv
virtualenv testenv -p /path/to/python/bin
source testenv/bin/activate

pip install -U pytest 

# try to run your script here
....
qyuhtwio

qyuhtwio3#

这取决于你是如何启动Jenkins的。如果你使用的是windows的msi文件而不是Jenkins war文件,那么你很可能会因为用户配置文件的设置而得到这个错误。
要解决此问题,您需要打开所有服务并右键单击Jenkins服务的属性,转到“登录”选项卡并选择使用此帐户登录。在浏览器文本框中输入服务器的域名/用户名,然后单击“浏览”。您将能够看到您的完整用户名,选择它,输入您的系统密码。单击“确定”。
完成此操作后,重新启动jenkins服务。您已解决问题!

5n0oy7gb

5n0oy7gb4#

我认为你需要先激活虚拟环境,如果你已经有虚拟环境,那么你可以这样做:

CALL venv/Scripts/activate
pytest

对我很有效。

相关问题