jenkins拉取git仓库代码,执行python脚本

背景:

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 are using pip version 18.1, however version 20.0.2 is available.
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 as failure
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.6    python3.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.6
root@c20362a06289:/var/jenkins_home/python3/bin# pip3 -V
pip 18.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: pip 18.1
Uninstalling pip-18.1:
Successfully uninstalled pip-18.1
Successfully installed pip-20.0.2
root@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
This is 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

 

 再次构建,查看结果:

 

posted @ 2020-04-07 10:10  做一只热爱生活的小透明  阅读(798)  评论(0)    收藏  举报