使用Docker实现Jenkins+Python + Pytest +Allure 接口自动化
2023-09-11 14:15:54 时间
一、Jenkins搭建
参考《Docker 安装 Jenkins》
进入 jenkins 容器 CLI 界面
docker exec -itu root jenkins /bin/bash
二、准备条件
1、替换镜像内源
为了安装wget,默认用yum会安装不上wget命令,参考文章《docker容器内如何更换yum源【只想换成国内源而已】》
2、安装wget
yum install wget
三、安装Python3环境
1、安装依赖包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
yum install gcc gcc-c++ openssl-devel libffi-devel tk-devel
2、下载源码包
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
3、解压安装
# 解压压缩包
tar -zxvf Python-3.8.1.tgz
# 进入文件夹
cd Python-3.8.1
# 配置安装位置
./configure prefix=/usr/local/python3
# 也可以通过 --enable-optimizations 指定使用优化选项
./configure --enable-optimizations --prefix=/usr/local/python3.8 --with-http_ssl_module --with-ssl
# 安装
make && make install
4、Python更换pip源
Linux下永久更换源
#在家目录中创建.pip目录
mkdir -p ~/.pip
#创建pip.conf文件
vim ~/.pip/pip.conf
#输入以下内容并保存
[global]
timeout = 6000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
5、添加软连接
#添加python3的软链接
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python
#添加 pip3 的软链接
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip
6、openssl
## openssl 版本 要求 OpenSSL 1.0.2+,如果不满足需升级 openssl
# 然而 yum install openssl openssl-devel 的方式也无法升级到1.0.2版本,那也只能手动编译并安装
# 下载 openssl-1.1.1b.tar.gz 新版本的源码包
wget -c https://www.openssl.org/source/openssl-1.1.1b.tar.gz
tar -zxvf openssl-1.1.1b.tar.gz
cd openssl-1.1.1b
./config --prefix=/usr/local/openssl # 指定安装目录为/usr/local/openssl
make && make install #(耗时比较长,需要耐性等待)
# 编译完成后需要拷贝库文件
cp /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
cp /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
# 替换软链接
rm -rf /usr/bin/openssl
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
7、验证 python3 环境
四、安装项目所需的库
需要在 python 项目生成一个 requirement.txt
具体教程可以看https://www.cnblogs.com/longronglang/p/16311576.html
将 requirement.txt 上传到主机
从主机复制到容器内
docker cp requirement.txt jenkins:/usr/local/src
最后安装项目所需的库
pip3 install -r requirements.txt
跑下所有case,看看报错缺什么库,缺什么到时自己手动装
五、安装 Allure 环境
官网下载 allure 包
去https://github.com/allure-framework/allure2/releases,下载2.7版本
将压缩包传送到容器内
先将包上传到主机,然后从主机复制到容器内
docker cp allure-2.7.0.zip jenkins:/usr/local/src
解压包
unzip allure-2.7.0.zip
赋予文件夹所有内容最高权限
chmod -R 777 allure-2.7.0
六、配置 allure 和 python 环境变量
cat >> /root/.bashrc << "EOF"
export PATH=/usr/local/src/allure-2.7.0/bin:$PATH
export PATH=/usr/local/python3/bin/python3.8/bin:$PATH
EOF
记得一行一个回车哦,不然就直接复制粘贴
七、更新环境变量配置文件
source /root/.bashrc
八、验证环境变量
allure --version
python3 --version
九、Jenkins 任务配置构建操作
1、下载插件
2、安装配置JDK、Git、Allure Commandline
3、job配置
添加构建步骤,选择执行 shell
输入shell命令如下:
#!/bin/bash
cd /var/jenkins_home/workspace/pytest-allure-demo
python -m pytest -s -q --alluredir=${WORKSPACE}/allure-results --clean-alluredir
exit 0
构建后操作
注意
不一致会报错如下:
十、测试执行
1、点击构建
2、查看报告
相关文章
- python 保存图片_用Python从视频中提取每一帧的图片
- Python任意参数的数量/预习课python基础
- 【华为OD机试真题 python】货币单位换算【2022 Q4 | 100分】
- 【华为OD机试真题 python】流水线【2022 Q4 | 100分】
- 【华为OD机试真题 python】用户调度问题 【2022 Q4 | 100分】
- 超全Python学习路线图+14张思维导图,让python初学者不走弯路
- 学python能做什么兼职-初学Python到月入过万最快的兼职途径(纯干货)
- python强大之处在哪里?为什么那么多人喜欢Python?
- Python: utilities
- net-snmp启用python模块
- Docker 基本操作 镜像操作 -- docker镜像命令
- Docker服务启动报错:Job for docker.service failed because the control process exited with error code
- 安装kalibr踩坑5:E: Package ‘python-software-properties‘ has no installation candidate
- Python Numpy 中的打印设置函数set_printoptions
- python bin文件处理
- 《Python语言程序设计》——1.5 Python的历史
- 利用python一键将webp格式图片转换为png或者jpg
- Python 面向对象
- 【python 学习】——pycharm终端解释器和Python解释器配置
- 【Linux学习笔记】解决:yum install python-dev 报错(CentOS安装Python-dev库)
- 在docker中安装docker,轻松实现 docker in docker (dind)的应用,并在带有docker的Linux系统中安装基础依赖,搭建Python环境,部署自己的项目或CI和测试