以Ubuntu22、Pytest为例子讲解
sudo 如果不是root账号,需要使用sudo启用超级管理员权限
Linux服务器环境部署
1、更新包管理器,确保系统上的软件包是最新版本
sudo apt update
2、SSH(远程连接Linux的协议)
ps -ef | grep ssh 查看SSH进程
sudo apt install openssh-server 安装SSH SERVER
sudo gedit /etc/ssh/sshd_config 配置SSH环境
systemctl restart ssh 配置后重启SSH服务
配置SSH环境:
其他命令:
systemctl status sshd 查看SSH服务状态
3、 禁用防火墙(防止出问题)
sudo ufw disable 禁用防火墙
sudo ufw allow 开启防火墙
4、 查看服务器IP地址,远程可连接linux,端口默认
ip addr (inet 后面即为IP地址)
5、 安装需要的软件
- JAVA17
java -version 查看java版本
javac -version 查看javac版本
sudo apt install openjdk-17-jdk 安装
- Git
sudo apt install git 安装git
- Python
python3 -V 查看版本
sudo apt install python3 安装
- Pip
pip3 -V 查看版本
sudo apt install python3-pip 安装
- Chrome
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 下载
sudo apt install 下载的文件路径 安装(下载时会直接下载到当前目录下)
google-chrome -version 查看版本
- Chromedriver
下载地址(建议64位):https://googlechromelabs.github.io/chrome-for-testing
wget 下载地址
unzip 解压包,里面的driver用于linux上运行使用
- Jenkins
官网:https://www.jenkins.io/doc/book/installing/linux/#debianubuntu
可用原生安装方式,或war包
原生方式(具体看官网最新方法):
sudo wget -O /usr/share/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins
systemctl start jenkins 启动服务,第一次会要求设定密码
systemctl status jenkins 查看Jenkins服务状态,获取到启动密码,第一次需要用启动密码登录
Jenkins项目启用
6、 Jenkins创建工程注意事项
中文插件
目录的路径问题
7、 集成Allure测试报告
wget https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.24.1/allure-commandline-2.24.1.zip 下载,也可以用迅雷下载再拖进服务器
unzip 解压
./allure 在allure的Bin目录运行查看是否已经成功
ln -s /code/allure-xxx/bin/allure /usr/local/bin/allure 创建allure快捷方式,以便直接用allure命令运行
jenkins网页也需要安装allure插件,需要去全局工具配置
allure配置直接shell的命令存放路径要与构建后操作的路径名字一致
8、 获取Jenkins持续集成报告
pip3 install python-jenkins (win和linux都要安装,可以加入代码依赖文件中)
代码中需要加入Jenkins代码去运行
9、 钉钉集成到Jenkins
除了代码层面,还需要在Jenkins新建一个钉钉机器人的运行工程,以项目为根目录去运行!(此处注意路径不要写错)
设定好该工程后,需要回到代码执行的用例工程,配置构建后操作-构建其他项目,填入钉钉机器人工程名称
其他内容
10、 Jenkins插件的安装方法
Jenkins三种插件安装方式
Jenkins插件官方网址
Jenkins插件在Linux的路径:/var/lib/jenkins/plugins
Jenkins网页重启方式:地址/restart
11、目前遇到的报错问题集合
- 问题1:Linux上运行pytest报错,实际未安装成功
- 解决办法:find / -name “pytest”,创建一个快捷方式/软连接,无需配置环境变量
ln /usr/local/bin/pytest /usr/local/bin/pytest 第一个路径具体看Pytest位置,第二个路径是快捷方式固定路径
- 问题2:在Linux运行代码报错 AttributeError: ‘NoneType’ object has no attribute ‘maximize_window’
- 解决办法:在Linux下用户没权限访问driver,赋权即可
chmod -R 777 driver/chromedriver
-
问题3:Jenkins运行报错:java.nio.file.AccessDeniedExeption
-
解决办法:将nextBuildNumber文件删掉即可,nextBuildNumber在重启node时自动生成
jenkins运行报错:java.nio.file.AccessDeniedExeption: -
问题4:Allure在Jenkins安装成功,但在项目中构建后选项里没有Allure选项
-
问题5:Jenkins运行pytest项目提示无权限,报错PermissionError: [Errno 13] Permission denied: ‘/root/code/webtaskrunner/log/test.log’
-
解决办法:让整个目录赋权
Chmod -R 777 项目目录路径