软件测试docker搭建Jenkins+Python+allure自动化测试环境
原标题:软件测试|docker搭建Jenkins+Python+allure自动化测试环境
简介
本文将详细介绍如何使用Docker搭建一个完整的自动化测试环境,其中包括Jenkins作为持续集成和持续交付工具,Python作为测试脚本编写语言,以及Allure作为测试报告生成工具。通过使用Docker容器,您可以轻松地设置和管理这些工具,提高测试效率和质量。
安装docker
安装docker的步骤,可以直接学习这篇文章:最详细的ubuntu 安装 docker教程
拉取Jenkins镜像
直接运行docker pull命令拉取镜像,命令如下:
docker pull jenkins/jenkins
运行命令,将会拉取最新的Jenkins镜像,拉取完成后,运行docker images查看镜像,结果如下图:
创建Jenkins容器
- 在主机创建一个挂载目录,命令如下:
mkdir -p /var/jenkins_node
注:若权限不足,则在命令前加上sudo即可
- 将该挂载目录的权限修改为可读可写可执行,命令如下:
chmod -R 777 /var/jenkins_node
- 创建与启动Jenkins容器,命令如下:
docker run -d -uroot -p 80:8080 --name jenkins_muller -v /var/jenkins_node:/var/jenkins_home jenkins/jenkins
命令解析:
- -d:守护模式
- -uroot:使用 root 身份进入容器,推荐加上,避免容器内执行某些命令时报权限错误
- -p:主机 80 端口映射容器的 8080 端口,后面访问 jenkins 直接访问主机 ip 就行了,不需要加 8080 端口
- -v:目录映射
- --name:自定义一个容器名称
- 使用上面拉取的 jenkins/jenkins 镜像
- 查看容器是否正常运行,运行命令:
docker ps
运行命令,如下图:
- 进入容器CLI页面,运行命令:
docker exec -it -uroot jenkins_muller bash
- 更新及安装必要软件,命令如下:
获取最新的软件包
apt-get update
升级已安装的软件包
apt-get upgrade
提前安装,以便接下来的配置操作
apt-get -y install gcc automake autoconf libtool make
apt-get -y install make*
apt-get -y install zlib*
apt-get -y install openssl libssl-dev
apt-get install sudo
安装Python环境
- 下载 python
我们要在容器中下载并安装python,命令如下:
cd /usr/local/src
wget https://python.org/ftp/python/3.8.8/Python-3.8.8.tgz
tar -zxvf Python-3.8.8.tgz
mv Python-3.8.8 py3.8
cd py3.8
安装完成后,如下图:
注:若报wget: command not found的错误,则执行下面的命令先行安装即可
apt-get update
apt-get install -y wget
- make 编译安装
在 /usr/local/src/py3.8 安装目录下执行下面的命令
./configure --prefix=/usr/local/src/py3.8
make && make install
注:若报no acceptable C compiler found in $PATH报错,则需要先安装编译器,命令如下:
apt-get install -y build-essential
- 添加软链接
添加 python3 软链接
ln -s /usr/local/src/py3.8/bin/python3.8 /usr/bin/python3
添加pip3软链接
ln -s /usr/local/src/py3.8/bin/pip3 /usr/bin/pip3
- 验证安装是否成功,输入python3及pip3查看是否成功安装
搭建allure环境
- 下载allure压缩包
allure下载地址,版本可以任选,下载最新版也可。
- 将压缩包复制到容器内,命令如下:
docker cp allure-commandline-2.13.0.zip jenkins_muller:/usr/local/src
- 将压缩包解压,命令如下:
unzip allure-commandline-2.13.0.zip
- 修改文件夹权限,将权限设置为可读可写可执行,命令如下:
mv allure-2.13.0 allure
chmod -R 777 allure
- 配置 allure 和 py 环境变量
cat >> /root/.bashrc << "EOF"
export PATH=/usr/local/src/allure/bin:$PATH
export PATH=/usr/local/src/py3.8/bin:$PATH
EOF
注:此处需要一行一行输入命令,每一行都需要回车
- 更新环境变量配置文件,命令如下:
source /root/.bashrc
- 验证环境变量配置,命令如下
allure --version
python3 --version
运行命令,结果如下图:
配置Java环境变量
因为allure依赖Java环境,所以我们要查看一下当前已经配置好的java环境变量
- 查看当前已经配置好的环境变量,命令如下:
export
如下图:
- 配置JDK环境变量,命令如下:
cat >> /root/.bashrc<< "EOF"
export PATH=$JAVA_HOME/bin:$PATH
EOF
- 配置完成后,更新环境变量,命令如下:
source /root/.bashrc
总结
本文提供了使用Docker搭建Jenkins、Python和Allure自动化测试环境的详细指南。通过使用Docker容器,我们可以轻松地设置和管理这些工具,为自动化测试提供一个稳定、可靠和一致的环境。希望本文对大家在搭建自动化测试环境方面有所帮助!
pipeline支持的指令
基本结构满足不了现实多变的需求。所以,Jenkins pipeline通过各种指令(directive)来丰富自己。指令可以被理解为对Jenkins pipeline基本结构的补充。
Jenkins pipeline支持的指令有:
• environment:用于设置环境变量,可定义在stage或pipeline部分。• tools:可定义在pipeline或stage部分。它会自动下载并安装我们指定的工具,并将其加入PATH变量中。• input:定义在stage部分,会暂停pipeline,提示你输入内容。• options:用于配置Jenkins pipeline本身的选项,比如options {retry(3)}指当pipeline失败时再重试2次。options指令可定义在stage或pipeline部分。• parallel:并行执行多个step。在pipeline插件1.2版本后,parallel开始支持对多个阶段进行并行执行。• parameters:与input不同,parameters是执行pipeline前传入的一些参数。• triggers:用于定义执行pipeline的触发器。• when:当满足when定义的条件时,阶段才执行。
在使用指令时,需要注意的是每个指令都有自己的作用域。如果指令使用的位置不正确,Jenkins将会报错。
配置pipeline本身(option指令)(用到的时候可以来参考这块)
options指令用于配置整个Jenkins pipeline本身的选项。根据具体的选项不同,可以将其放在pipeline块或stage块中。以下例子若没有特别说明,options被放在pipeline块中。
• buildDiscarder:保存最近历史构建记录的数量。当pipeline执行完成后,会在硬盘上保存制品和构建执行日志,如果长时间不清理会占用大量空间,设置此选项后会自动清理。
参考这个文档:https://weread.qq.com/web/reader/12f320007184556612f32b6k1ff325f02181ff1de7742fc
这节比较有用,可以参考下
在声明式pipeline中使用脚本
Jenkins pipeline专门提供了一个script步骤,你能在script步骤中像写代码一样写pipeline逻辑。
pipeline{agentanystages{stage(Hello){steps{script{defs = "Hello World"printlns}echoHello World
Jenkins学习笔记
本学习笔记参考《Jenkins2.x实践指南》。