背景:
pytho脚本自动化提交后,自动触发jenkins去构建
1.打开Jenkins新建一个自由风格的项目
源码管理:
Repository URL 代码仓库地址
Credentials git仓库登陆的账号和密码凭证
指定分支(为空时代表any)分支默认*/master
构建job后输出内容
Requirement already satisfied: certifi>=2017.4.17 in /var/jenkins_home/python3/lib/python3.6/site-packages (from requests->-r requirements.txt (line 1)) (2019.11.28)
You areusing pip version 18.1, however version 20.0.2 isavailable.
You should consider upgrading via the'pip install --upgrade pip'command.+pytest reTest.py/tmp/jenkins2700478557167732619.sh: 4: /tmp/jenkins2700478557167732619.sh: pytest: not found
Build step'Execute shell' marked build asfailure
Finished: FAILURE
解决办法:
不是看centos下的pip版本
进jenkins容器
docker ps -a
进docker容器, 加上-u root 以root用户权限进入容器
docker exec -it -u root 容器id /bin/bash
[root@xiaoxiao ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c20362a06289 jenkins/jenkins:lts "/sbin/tini -- /usr/…" 4 days ago Up 4 days 0.0.0.0:50000->50000/tcp, 0.0.0.0:9090->8080/tcp jenkins
294df3f8c912 rabbitmq:3.8.0-management "docker-entrypoint.s…" 3 weeks ago Exited (0) 5 days ago rabbitmq3.8[root@xiaoxiao~]# docker exec -it -u root c20362a06289 /bin/bash
root@c20362a06289:/# cd /var/jenkins_home/python3/bin
root@c20362a06289:/var/jenkins_home/python3/bin# ls
2to3 chardetect idle3 pip3 pydoc3 python3 python3.6python3.6m pyvenv
2to3-3.6 easy_install-3.6 idle3.6 pip3.6 pydoc3.6 python3-config python3.6-config python3.6m-config pyvenv-3.6root@c20362a06289:/var/jenkins_home/python3/bin# pip3 -V
pip18.1 from /var/jenkins_home/python3/lib/python3.6/site-packages/pip (python 3.6)
root@c20362a06289:/var/jenkins_home/python3/bin# pip3 install --upgrade pip
Collecting pip
Downloading https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl (1.4MB)
100% |████████████████████████████████| 1.4MB 606kB/s
Installing collected packages: pip
Found existing installation: pip18.1Uninstalling pip-18.1:
Successfully uninstalled pip-18.1Successfully installed pip-20.0.2root@c20362a06289:/var/jenkins_home/python3/bin#
2.给pytest加软链接
[root@xiaoxiao ~]# pytest-bash: pytest: command not found
[root@xiaoxiao~]#
3.在容器内部查找pytest,find / -name pytest,如果没有,再执行安装pip3 install -U pytest
root@c20362a06289:~# find / -name pytest
root@c20362a06289:~#pip3 install -U pytest
root@c20362a06289:~# find / -name pytest/var/jenkins_home/python3/bin/pytest/var/jenkins_home/python3/lib/python3.6/site-packages/pytest
4.查找pytest安装地址添加软链接,输入pytest --version查看环境
root@c20362a06289:~# ln -s /var/jenkins_home/python3/bin/pytest /usr/bin/pytest
root@c20362a06289:~# pytest --version
Thisis pytest version 5.4.1, imported from /var/jenkins_home/python3/lib/python3.6/site-packages/pytest/__init__.py
root@c20362a06289:~#
构建job
1.上面需要的环境都安装完成后,执行shell的时候,直接输入pytest命令就可以执行自动化的脚本了
问题1:
操作步骤:我本地删了这个
reTest.py文件,更新上传到github了,但是构建还是提示找不到这个reTest文件,我删了,但是新建了另外一个py文件,也更新到github了
原因:构建这里jenkins写死了
解决方案:将这里改成你新加的py名称
问题2:构建提示报错
解决办法:
1.先人工进入这个目录查看是否有这个文件,查看是有的
2.检查jenkins构建配置路径没有正确,应该改成cd case
再次构建,查看结果: