Pytest + Yaml + Allure接口测试框架集成jenkins
服务器用的是 阿里云 Ubuntu 20.4
FastApi接口服务 https://www.cnblogs.com/changqing8023/p/15808843.html
Pytest框架 https://www.cnblogs.com/changqing8023/p/15608857.html
Jenkins安装不再多做赘述,直接进入配置环节
1.配置git
系统管理-全局工具配置 配置服务器上的git路径
系统管理-Manage Credentials-添加凭据-选择 SSH Username with private key -添加安装git生成的私钥
2.配置Allure
安装插件 Allure Jenkins Plugin
系统管理-全局工具配置 配置 Allure
3.创建工程
在 源码管理 中 配置github的项目的SSH地址,选择git私钥凭据,指定github项目分支,配置github项目web地址
在 构建 中设置执行shell,运行框架代码
在 构建后操作 配置 Allure Report,第一个PATH是指 alluredir 参数后面跟的目录
最终效果
运行命令记录
# 安装git root 权限 apt update # 更新apt apt install # git 安装git # 配置git git config --global user.name "xxx" git config --global user.email "xxx" git config --list ssh-keygen -t rsa -C "xxx" cat ~/.ssh/id_rsa.pub # 查看公钥 # github上配置公钥 # 虚拟环境 pip3 install virtualenv pip3 install pbr pip3 install virtualenvwrapper # 出现错误的情况,尝试先安装 pbr # 创建虚拟环境目录 mkdir $HOME/.virtualenvs # 配置环境变量 vim ~/.bashrc export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh source ~/.bashrc # 创建.api虚拟环境 mkvirtualenv .api workon .api # 安装宝塔 wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh # 安装jenkins sudo apt-get install openjdk-8-jdk # 安装jdk 配置环境变量 JAVA_HOME wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add - sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list' sudo apt-get update sudo apt-get install jenkins # shell命令 # !/bin/sh BUILD_ID=DONTKILLME # 构建完成后不要杀死此进程 cd /root/ ./start_service.sh # 重启fastapi服务文件 # 重启fastapi服务文件内容 PROCESS=`ps -e | grep gunicorn | awk '{printf "%d\n", $1}'` echo $PROCESS for i in $PROCESS do echo "Kill the gunicorn process [ $i ]" sudo kill -9 $i done echo 'stop server finish!' sleep 2s source /root/.virtualenvs/.api/bin/activate sleep 2s cd /var/lib/jenkins/workspace/fastapi gunicorn -c /var/lib/jenkins/workspace/fastapi/gunicorn.py main:app -k uvicorn.workers.UvicornWorker echo 'start server success!!!' exit 0 # 修改jenkins启动用户权限 /etc/default/jenkins JENKINS_USER=root JENKINS_GROUP=root
愿你走出半生,归来仍是少年!