搭建docker + jenkins linux salve + allure

背景

docker搭建jenkins,运行python+selenium+allure项目,因为Jenkins在dockers环境内,难以操作,基于Jenkins在window上操作已经玩得比较熟,所以另外用虚拟机搞了一个linux作为节点,那么作为linux小白的我,接下来将会分享遇到了一系列的搭建环境的坑和配置job的坑

linux 环境准备

allure,git(可以jenkins全局工具安装),python,chrome,java8(allure需要)
装完之后记得配置成员或全局环境变量 或者 建立软连接

问题1

运行pytest:pip install pytest后,无法运行pytest,提示找不到命令,但是pip list显示已经安装完成,估计是没有加到环境变量,但是which pytest找不到路劲,只能在python环境里的site-package里面找到,把这路径加入环境变量也无法运行

解决

python -m pytest:意思是将库中的python pytest模块用作脚本去运行

问题2


sanbox沙箱把chrome当为不可信进程,限制了权限,无法运行chrome

解决

禁用沙箱

options = webdriver.ChromeOptions()
options.add_argument(‘–headless’)
options.add_argument(‘–disable-gpu’)
options.add_argument(‘–no-sandbox’)
driver = webdriver.Chrome(executable_path=”/root/test/chromedriver”, chrome_options=options)

问题3

jenkins 构建后操作allure report无法找到allure-results

因为allure report的检索路劲是相对于jenkinsworkspace(自己配置)/worksapce/selenium_demo(job name)而与我git源码管理的检出目录有出入

解决

cp -r /root/jenkinsworkspace/git/iSelenium_Python/allure-results /root/jenkinsworkspace/workspace/selenium_demo/allure-results

最后的问题与讨论

个人感觉liunx调试项目十分困难,当年用window管理jenkins项目的时候,出了问题,可以直接登陆服务器,在线改代码,还可以debug,改完后直接跑。而用linux改代码十分不方便,只能本地改好后,提交git去跑,很麻烦,虽然或许这才是正规流程,你们认为呢?