Pytest 项目结合Jenkins

news2025/1/22 14:50:31

一、window安装centos7虚拟机

参考网上其他教程

二、Linux安装Jenkins

进入jenkins.io网址,点击download,选择CentOS版本

1、Linux中安装java环境和git

Jenkins的运行需要java环境;安装git是为代码上传给仓库做准备;

yum - y list java *
下载安装 java11 的所有软件包,中途需要输⼊ y 来确认下载
yum install java - 11 - openjdk
安装成功,输⼊如下命令检查是否安装成功,如果返回正确的版本号则表示安装成功。
java  - version
java 安装⽬录
/ usr / lib / jvm / java - 1.11.0 - openjdk
安装 git
yum install git

2、yum安装Jenkins

下载 Jenkins ,进⼊ data ⽬录 :
  cd / data
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo (输入提示没有wget,则yum install wget)
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
yum -y install jenkins 

3、启动Jenkins

systemctl start jenkins

查看服务器ip:ip addr

关闭防火墙:systemctl stop firewalld)

浏览器访问ip+端口,回车即可打开Jenkins        

4、Jenkins配置

  • 第⼀次启动jenkins,它会⾃动⽣成⼀个密码,它会将这个密码⽣成放到⼀个固定的地⽅,浏览器访问的时候会告诉你该密码的位置,/var/lib/jenkins/secrets/initialAdminPassword,去找到这个密码,cat /var/lib/jenkins/secrets/initialAdminPassword,复制过来。
  • 等待⼀会以后会出现选择⻚⾯,选择安装插件,选择第⼀个
  • 下⾯就是等待插件安装成功,注:插件⼀次可能不会完全安装成功,可以点击Retry再次安装。直到 全部安装成功
  • 配置⽤户名密码,插件安装成功以后让你创建⼀个管理员⽤户,也可以点击右下⻆的使⽤admin账号继续,看个⼈喜好
  • 实例配置,这⼀步不需要修改东⻄,点击保存并完成
  • 点击开始使⽤Jenkins

三、创建git仓库并将代码上传git仓库

1、生成当前环境第三方包

pyhcarm的终端中输入命令:pip freeze

生成requirements.txt

2、将代码上传到git仓库

注册gitee账号,并在账号下创建仓库,创建完成仓库后(且我们依据在第二步中安装了git),根据页面提示在pycharm终端中输入命令,commit--push代码到git仓库。刷新gitee仓库页面新上传好代码文件。

四、Linux安装python3

1、安装依赖环境

输入命令: 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

2、安装Python3 和Pytest

1.进入opt 文件目录下 cd /opt/
2.下载python3 (可以到官方先看最新版本多少)
输入命令 wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz
如果出现 找不到 wget 命令,输入 yum -y install wget ,安装其依赖将会被安装
3.安装Python3
安装在 /usr/local/python3 (具体安装位置看个人喜好)
1 )创建目录: mkdir -p /usr/local/python3
2 )解压下载好的 Python-3.x.x.tgz ( 具体包名因你下载的 Python 具体版本不不同⽽而不不同,
如:我下载的是 Python3.7.1. 那我这里就是 Python-3.7.1.tgz)
输入命令 tar -zxvf Python-3.7.6.tgz 解压后出现 python 的文件夹
4. 进入解压后的目录,编译安装。(编译安装前需要安装编译器 yum install gcc
1 )安装 gcc
输入命令 yum -y install gcc ,确认下载安装输入 “y”
2 3.7 版本之后需要一个新的包 libffi-devel
安装即可: yum install libffi-devel -y
3 )进入 python 文件夹,生成编译脚本 ( 指定安装目录 )
cd Python-3.7.6
./configure --prefix=/usr/local/python3
#/usr/local/python3 为上面步骤创建的目录
4 )编译: make
5 )编译成功后,编译安装: make install
6 )检查 python3.7 的编译器: /usr/local/python3/bin/python3.7
5.建立Python3pip3的软链:
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
6.并将/usr/local/python3/bin加入PATH
1 vim /etc/profile
2 )按 “I” ,然后增加下面内容
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:usr/local/python3/bin
export PATH
3 )按 ESC ,输入 :wq 回车退出。
4 )修改完记得执行行下面的命令,让上一步的修改生效:
source /etc/profile
7.检查Python3pip3 是否正常可用
python3 -V
pip3 -V
8.安装pytest:pip3 install -U pytest
9.创建软连接:ln -s /usr/local/python3/bin/pytest /usr/bin/pytest
10. 验证
pytest -- version
pytest 7.1.2
出现则说明安装成功

五、Jenkins创建项目并配置

1、安装allure插件

系统管理--插件管理--可选插件中搜索allure并安装

系统管理--全局工具配置中,Allure Commandline--新增,选择最新版本,应用,保存

2、新建freestyle项目

create a job 输入项目名称并确定,进入项目设置中

General :

丢弃旧的构建

源码管理:

Credentials--添加--选择Jenkins--类型选择Usename with password,输入git仓库的用户名和密码--添加--外部选择该仓库

构建触发器:

勾选定时构建:eg输入:* 7 * * *,即每天早上七点运行一次

构建环境:

构建:

选择:执行shell,写入命令

 #!/bin/bash
2 cd ${WORKSPACE}
3 pip3 install -r requirements.txt --user 
4 pytest

WORKSPACE是环境变量,指代当前创建的工作项目

-r:循环安装,每次构建都安装requirements.txt中的第三方包

构建后操作:

选择Allure report,填入Pah

点击应用保存,至此项目创建成功

点击立即构建,查看执行情况

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1347570.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

idea构建maven项目报错的解决

使用idea创建了一个新的spring项目,maven配置完毕后,报错,引用的依赖不存在。 控制台报错信息如下: 通过查询资料,发现是阿里云的maven仓库中没有这个版本的jar包,导入无法引用到对应的依赖。 解决方法就是…

vmware部署docker+springboot+MySQL(超详细)

一、前期准备 (一)安装jdk #docker search openjdk #docker pull openjdk:8 (二)确认网络 如果局域网其他终端(如手机访问),虚拟机网络连接需要选择《桥接》模式,而且,需要使用有线连接,不能使用Wi-Fi,切忌切忌! 并且要选择实际的那个有线连接。比如我这里是“R…

WorkPlus私有化即时通讯的标杆,助力企业实现信息管控与保障

在信息时代,保护企业的信息安全至关重要。而私有化即时通讯成为了企业提升信息安全的重要手段。作为私有化即时通讯的领先选择,WorkPlus以其卓越的性能和领先的技术,为企业提供了安全可靠的通信解决方案。 私有化即时通讯是企业保护信息安全的…

华为云Stack 8.X流量模型分析(五)

六、EIP流量模型分析 ​ 弹性公网IP(Elastic IP,简称EIP)提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。如果资源只配置了私网IP,则无法直接访问Internet,为资源配置弹性公网IP后,可…

普中STM32-PZ6806L开发板(HAL库函数实现-按键扫描)

简介 实现按键扫描, 实现四个按键按下控制灯的亮灭 电路原理图 按键电路原理图 按键与主芯片引脚原理图 其他知识 原理图分析 Key_UP按下会有高电平输入, 所以电路设置应该是默认低电平, 初始化为下拉输入 Key_Left/Right/Down按下会有低电平, 初始化为下拉输…

HTML教程(2)——基础标签

一、HTML的元数据 <meta>标签定义关于 HTML 文档的元数据。元数据是关于数据的数据&#xff08;信息&#xff09;,其始终位于<html>元素内&#xff0c;通常用于指定字符集、页面描述、关键词、文档作者和视口设置&#xff1b; 元数据不会显示在页面上&#xff0c…

redis—List列表

目录 前言 1.常见命令 2.使用场景 前言 列表类型是用来存储多个有序的字符串&#xff0c;如图2-19所示&#xff0c;a、b、C、d、e五个元素从左到右组成 了一个有序的列表&#xff0c;列表中的每个字符串称为元素(element) &#xff0c;一个列表最多可以存储2^32 - 1 个元素…

MySQL Too many connections报错

MySQL 时不时出现Too many connections报错&#xff0c;重启MySQL就好了 但是过段时间又出现 一、解决方案&#xff1a; 1.修改mysql最大连接数 set global max_connections500; 以上是修改立即生效的&#xff0c;重启MySQL就会还原回去 在MySQL配置文件修改 max_connection…

GAMES101:作业4记录

文章目录 总览算法编写代码&#xff1a;recursive_bezier()的实现Bezier()函数的实现提高部分&#xff1a;反走样 总览 Bzier 曲线是一种用于计算机图形学的参数曲线。在本次作业中,你需要实现 de Casteljau 算法来绘制由 4 个控制点表示的 Bzier 曲线 (当你正确实现该算法时,…

拒绝采样(算法)总结

先说说什么是拒绝采样算法&#xff1a;就类似于数学上的求阴影面积的方法&#xff0c;直接求求不出来&#xff0c;就用大面积 - 小面积 阴影面积的办法。 所谓拒绝 和 采样 &#xff1a;就像是撒豆子计个数&#xff0c;计算概率问题一样&#xff0c;大桶里面套小桶&#xff0c…

从0到1入门C++编程——01 C++基础知识

文章目录 一、工具安装二、新建项目三、设置字体、注释、行号四、C基础知识1.数据类型2.输入输出3.运算符4.选择、循环结构5.跳转语句6.数组7.函数8.指针9.结构体 一、工具安装 学习C使用到的工具是Visual Studio&#xff0c;Visual Studio 2010旗舰版下载链接&#xff1a;点此…

uni-app模版(扩展插件)

锋哥原创的uni-app视频教程&#xff1a; 2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中...共计23条视频&#xff0c;包括&#xff1a;第1讲 uni…

2023年终总结|回顾学习Tensorflow、Keras的历程

2023年4月&#xff0c;初探TensorFlow2.0&#xff0c;对比了1.0版本的差异。接着&#xff0c;学习了TensorFlow2.0的常量矩阵、四则运算以及常用函数。学习了数据切割、张量梯度计算、遍历元素、类别索引转换等技巧&#xff0c;并掌握了CNN输出特征图形状的计算方法。 在数据处…

【回溯】图的m着色问题Python实现

文章目录 [toc]问题描述图的 m m m可着色判定问题图的 m m m可着色优化问题四色猜想 回溯法时间复杂性Python实现 个人主页&#xff1a;丷从心 系列专栏&#xff1a;回溯法 问题描述 图的 m m m可着色判定问题 给定无向连通图 G G G和 m m m种不同的颜色&#xff0c;用这些颜…

SpringBoot实用篇

SpringBoot实用篇 1、热部署 什么是热部署&#xff1f; 所谓热部署&#xff0c;就是在应用正在运行的时候升级软件&#xff0c;却不需要重新启动应用。对于Java应用程序来说&#xff0c;热部署就是在运行时更新Java类文件。 热部署有什么用&#xff1f; 节约时间&#xff0c;热…

【python高级用法】迭代器、生成器、装饰器、闭包

迭代器 可迭代对象&#xff1a;可以使用for循环来遍历的&#xff0c;可以使用isinstance()来测试。 迭代器&#xff1a;同时实现了__iter__()方法和__next__()方法&#xff0c;可以使用isinstance()方法来测试是否是迭代器对象 from collections.abc import Iterable, Iterat…

Select缺点及代码示例

一、Select缺点 二、服务器端 #include <stdio.h> #include <arpa/inet.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <sys/select.h>int main() {// 创建socketint lfd socket(PF_INET, SOCK_STREAM, 0)…

java进阶(三)

IO与网络编程 3 输入输出流IO3.1 基础定义3.2 IO框架3.3 读取字节输入流-InputStream3.3.1 InputStream.read3.3.2 FileInputStream类说明 3.4读取字符输入流Reader3.4.1 Reader.read3.4.2 FileReader类说明 3.5 字节输出流OutputStream3.5.1 OutputStream.write3.5.2 FileOutp…

Docker容器基础知识点总结

一 、Docker架构 dockers加速镜像&#xff1a; sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["https://z90yxq2m.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restar…

thinkphp6.0升级到8.0

目录 一&#xff1a;升级过程 二&#xff1a;报错处理 最近写的项目需要使用thinkphp8.0&#xff0c;之前的老项目需要从php6.0升级到8.0&#xff0c;特此记录下升级过程。 一&#xff1a;升级过程 查看版本&#xff1a; php think version,我目前的版本是6.1.4 生成thin…