jenkins部署自动化测试踩坑记录(一)

问题描述

近期学习接口测试,写完测试用例本地执行成功后,需部署到jenkins实现定时跑脚本,创建任务后进行构建时,报错importError

问题定位

1.既然报错没有模块,那就安装,在服务器上执行pip3 install xxx,成功后再次构建,还是报错,emmm,难不成还要重启?索性重启,重启后还是报错,fxxk!
2.服务器上执行呢?服务器上手动执行python3 xxx/test_xxx_xx.py,成功...,再次在jenkins上构建,报错...
3.百度一下你就知道!

然而,并没有用,这是导入自己写的包啊,第三方包呢?!
4.locate查看下模块位置,为防止拿到的数据不是新的,先updatedb一下,发现模块位于用户目录下/home/xxx/.local/lib,遂cp一下,放到/usr/local/lib下,重新构建,成功!

总结

填坑:
1.为什么jenkins只可以使用/usr/local/lib下的包
因为Jenkins执行脚本时,是以Jenkins用户执行的,如果Jenkins的用户path下没有所需要的包,是会报错的,可以使用echo $PATH查看变量
那么如何修改Jenkins默认的执行用户呢,可以修改/etc/sysconfig/jenkins文件下的JENKINS_USER,然后修改以下文件和目录的权限
chown xxx:xxx file/chown -R xxx:xxx directory
/var/lib/jenkins/
/var/log/jenkins/
/var/cache/jenkins/
/usr/lib/jenkins/jenkins.war
/etc/sysconfig/jenkins
当然,也可以把/home/xxx/.local/lib添加到Jenkins的用户path里

xxx,没有总结,还不懂为什么修改配置PYPTHONPATH有什么用,等下补充

原文地址:https://www.cnblogs.com/Jerry165/p/13581711.html