Linux部署python接口自动化教程
1.安装jenkins
centos7安装方法
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins
刷新服务
systemctl daemon-reload
重启
systemctl restart jenkins
启动
systemctl start jenkins
关闭
systemctl stop jenkins
查看状态
systemctl status jenkins
默认端口是8080
笔者安装的版本是2.332
此版本更改端口号方法为
vi /etc/sysconfig/jenkins
然后保存此文件,重启jenkins即可.
然后http://ip:端口 进入jenkins.完善账号信息.
2.安装插件和依赖
进入jenkins插件中心
安装allure插件(测试报告)
配置allure依赖
下载allure
点我去git下载allure
解压此文件
然后进入jenkins全局工具配置
输入allure的路径
安装python3.x依赖环境
输入命令:
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
安装python3.x
1.下载安装文件
点我去python版本库下载
根据需求选择版本
上传至linux服务器后解压
tar -xvf yourfile.tar
cd 到解压后的python目录
- 把python3安装到/usr/local目录下
./configure --prefix=/usr/local/python3
make && make install
然后等待安装
- 然后创建软连接使python可全局使用
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
ln -s /usr/bin/pip3 /usr/bin/pip
# 系统默认的python软连接指向的是python2,如果我们需要更方便使用,可以删除原有的python软连接,并建立新的python软连接指向python3
rm -f /usr/bin/python
ln -s /usr/bin/python3 /usr/bin/python
查看最新的有python的软连接。
ll /usr/bin/ |grep python
查看python版本。显示为python 3.7.0。
python --version
修改yum配置
因为把yum的依赖 python2.7覆盖了,所以如果不修改yum配置会报错.
修改yum配置文件,下面两个文件都要修改。
vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down
按i进入编辑模式,在第一行#!/usr/bin/python把修改为#!/usr/bin/python2.7,
按ESC退出编辑模式,:wq退出保存。
安装git
yum install -y git
然后拉取的你的代码,此处自行百度。
3.创建Jenkins任务
选择自由风格任务
使用自定义的工作空间
此处的工作工件即代码所在的目录
建议使用git ssh拉取代码并配置ssh公钥.不然每次git拉取都需要重新输入git的账号和密码
选择构建步骤为执行shell然后输入你的测试启动命令
笔者是把启动命令写进了一个脚本
增加allure,输入你的allure结果的路径
保存
回到linux的项目目录上级
执行命令
chmod -R 777 项目目录
chown -R jenkins 项目目录.
jenkins运行任务
最终成功部署
遇到的问题(笔者亲测可解决.)
jenkins报错 Host key verification failed
解决方法:此问题一般是linux tomcat下启动jenkins,linux中配置git ssh后出现的,然后在jenkins执行 git pull命令出现.linux tomcat下启动jenkins不建议使用,可以直接安装jenkins或者下载jenkins.war 通过 java -jar jenkins.war --httpPort=8080 启动然后ip加端口号访问.
推荐大家yum安装,centos7下yum安装jenkins方法
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yum install jenkins
jenkins报错 ImportError while loading conftest ‘/home/pywork/apitest/pyapi/test_cases/conftest.py’.
或者报错
PermissionError: [Errno 13] Permission denied: ‘/home/pywork/apitest/pyapi/logs’
### Jenkins 报错及解决方法
在使用 Jenkins 进行自动化测试时,可能会遇到以下错误:
- ImportError while loading conftest:
ImportError while loading conftest '/home/pywork/apitest/pyapi/test_cases/conftest.py'
- PermissionError:
PermissionError: [Errno 13] Permission denied: '/home/pywork/apitest/pyapi/logs'
这些错误通常与文件权限和用户权限设置有关。以下是详细的解决方法:
解决方法
-
如果是通过
java -jar jenkins.war
启动 Jenkins:-
在 Linux 中,回到项目目录的上级目录并执行以下命令,给项目目录赋予足够的权限:
chmod -R 777 项目目录
这条命令递归地将项目目录及其子目录的权限设置为所有用户可读、可写和可执行。
-
-
如果是通过
yum
安装 Jenkins:-
首先,执行与上述相同的命令来修改目录权限:
chmod -R 777 项目目录
-
然后,需要将项目目录的所有者更改为
jenkins
用户,因为yum
安装的 Jenkins 会自动创建一个jenkins
用户,而这个用户默认没有权限访问项目目录。执行以下命令:chown -R jenkins 项目目录
这条命令递归地将项目目录及其子目录的所有者更改为
jenkins
用户。 -
额外注意事项
-
创建
jenkins
用户:如果系统中不存在jenkins
用户,可以通过以下命令创建:sudo useradd jenkins
-
确保 Jenkins 进程的用户权限:通过
java -jar jenkins.war
启动 Jenkins 时,通常是以当前用户(例如root
用户)启动的,因此具有相应的权限。而yum
安装的 Jenkins 以jenkins
用户运行,需要显式地赋予权限。
通过上述步骤,可以有效解决 Jenkins 运行过程中遇到的权限问题,从而顺利进行自动化测试。
jenkins更新到2.376版本或者更高版本后报错Process: 3462 ExecStart=/usr/bin/jenkins
编写日期:2022年11月8日
这是因为jenkins在新版本支持java8,需要安装java11
当然你也可以回退版本到低版本
同时升级若启动jenkins后访问显示错误Caused: jenkins.util.xstream.CriticalXStreamException
则可以参考解决jenkins错误