pytest+docker+jenkins+gitlab+allure接口自动化持续集成

一、centos7安装docker

建议先把用户切换成root用户来执行命令,用su命令来切换;
1、查看本机内核:uname -r
在这里插入图片描述2.使用 root 权限更新 yum 包(生产环境中此步操作需慎重,看自己情况,学习的话随便搞)

yum -y update

这个命令不是必须执行的,看个人情况,后面出现不兼容的情况的话就必须update了

注意 
yum -y update:升级所有包同时也升级软件和系统内核; 
yum -y upgrade:只升级所有包,不升级软件和系统内核

3.卸载旧版本(如果之前安装过的话)

yum remove docker  docker-common docker-selinux docker-engine


4.安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖

yum install -y yum-utils device-mapper-persistent-data lvm2 

5.更新yum源

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

在这里插入图片描述
6.查看版本以及安装

yum list docker-ce --showduplicates | sort -r

在这里插入图片描述
7.安装docker,可以安装最新版,可以选择指定的版本安装(根据自己来选择)

1)yum -y install docker-ce   安装最新版本的docker,下面不加上-y的意思是找到安装包之后会询问is this ok?,需要手动输入y继续,加上-y之后就不会询问而是自动按选y处理
(2)yum -y install docker-ce-20.10.9-3.el7   安装指定版本

在这里插入图片描述
8.启动/重启/关闭docker

#启动
systemctl start docker 
#重启
systemctl restart docker
#关闭
systemctl stop docker
#验证docker是否启动成功
docker version

二、Docker下安装jenkins

1.下载jenkins镜像(如果没设置docker开机自启动的话,请先启动docker服务先)

docker search jenkins

在这里插入图片描述
第一个是官方版本,但是已标明废弃了,让用第二个jenkisn/jenkins代替,那我们就用第二个安装,用如下命令下载镜像;中间可能由于网络原因会报错或者中断,一般重新试多几次问题不大的,剩下就是等待安装的时间;

docker pull jenkins/jenkins

在这里插入图片描述
查看docker拉取的jenkins镜像

docker images

在这里插入图片描述
2.创建jenkins容器
(1)宿主机创建挂载目录,方便拉取/查看文件,以及给这个文件添加权限

mkdir -p /var/jenkins_home
chmod -R 777 /var/jenkins_home

(2)创建容器并启动

docker run -d -uroot -p 80:8080 --name jenkins_rain -v /var/jenkins_home:/var/jenkins_home jenkins/jenkins
 
#  -d 是后台启用jenkins服务
#  -p 是端口映射
#  -v 是数据挂载
#  --name 是为容器命名

在这里插入图片描述
安装成功,查看创建的jenkins容器

# 查看运行中的容器
docker ps
# 查看全部的容器
docker ps -a

在这里插入图片描述
3.访问jenkins
查看本机ip地址:ifconfig
在这里插入图片描述
浏览器直接访问:http://192.168.223.134/,因为前面我创建jenkins时用的是80的端口,所以这里我没加端口号,你也可以自定义端口号来创建jenkins,访问格式:ip地址+端口号;
注意:可能会遇到访问失败,有可能是你本机的防火墙打开了

# 关闭防火墙
systenctl stop firewalld

在这里插入图片描述
获取密码有两种方式:
(1)直接命令

cat /var/jenkins_home/secrets/initialAdminPassword

(2)直接用xftp连接宿主机访问:/var/jenkins_home/secrets/initialAdminPassword(用记事本打开复制即可)
在这里插入图片描述
安装插件,可以选择推荐插件安装,也可以自己选择插件安装(我这里选择后者)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
更改插件下载源,复制这个网址进去:http://mirror.esuni.jp/jenkins/updates/update-center.json
在这里插入图片描述
安装gitlab、allure两个插件,直接搜索,安装过程中可能某些必备的插件会安装失败,我们可以选择手动安装
直接搜索安装插件allure、gitlab
在这里插入图片描述
在这里插入图片描述
插件下载失败,需要手动下载,手动下载插件网址:https://updates.jenkins-ci.org/download/plugins/
在这里插入图片描述
在这里插入图片描述
手动下载例子
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下载成功之后,直接去jenkins手动去上传刚刚下载的插件文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面就是手动安装的教程,根据jenkins提示去下载对应的插件版本,再去上传文件,最后重启jenkins;

三、jenkins容器安装python3环境

1.先用wget下载最新的python3文件 ,建议先进入存放python3的文件夹里面执行,方便找到下载的路径在哪

wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz

2.下载完成后将下载的文件复制到容器内的/usr/src目录下

docker cp Python-3.9.9.tgz jenkins_rain:usr/src

3.进入容器

docker exec  -it -uroot jenkins_rain bash

4.查看刚刚复制的文件是否在容器/usr/src目录下
在这里插入图片描述
5.查看系统版本,有的系统要固定的命令来安装软件包,这里最好先确认下你本机的系统
在这里插入图片描述
我这里是Debian,可以用 apt-get命令安装软件,按如下命令顺序执行,完成py3的安装

#同步索引,这样才能获取最新的软件包,执行的结果是会更新
# /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引
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
 
#切换目录到复制的python3文件所在位置
cd /usr/src 
 
#解压缩python安装包
tar -zxvf Python-3.9.9.tgz 
 
#将解压缩后的Python-3.9.9重命名为py3
mv Python-3.9.9 py3
 
#进入py3目录
cd py3
 
#make编译安装(命令一条一条执行)
./configure --prefix=/usr/src/py3
make
make install
 
#添加软链接
ln -s /usr/src/py3/bin/python3.9 /usr/bin/python3
ln -s /usr/src/py3/bin/pip3.9 /usr/bin/pip3

6.验证python环境和pip3是否安装正常,如下图表示安装完成
在这里插入图片描述

四、jenkins容器安装allure

1.先用wget下载最新的allure文件 ,建议先进入存放allure的文件夹里面执行,方便找到下载的路径在哪

docker cp allure-2.17.3.tgz jenkins_rain:usr/src

3.进入容器

docker exec  -it -uroot jenkins_rain bash

4.查看刚刚复制的文件是否在容器/usr/src目录下
在这里插入图片描述
5.安装allure

#解压缩allure包
 tar -zxvf allure-2.17.3.tgz
 
#重命名
mv allure-2.17.3 allure
 
#设置环境变量
cat >> /root/.bashrc << "EOF" 
export PATH=/usr/src/allure/bin:$PATH 
EOF
 
#更新环境变量
source /root/.bashrc
 
#安装完成

6.验证allure是否安装正常,如下图表示安装完成
在这里插入图片描述

五、jenkins配置与启动项目

1.上面的插件安装完之后,进去jenkins配置jdk、git、allure环境变量,以及配置邮件
在这里插入图片描述
配置JDK,不知道jdk路径的可以用命令 echo $JAVA_HOME 查看
在这里插入图片描述
配置GIT,不知道git路径的,可以用which git查看
在这里插入图片描述
配置ALLURE, alllure的安装目录为jenkins容器下安装allure时的安装目录
在这里插入图片描述
配置邮件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置完点击应用,保存
2.手动更新项目(目前方案没有gitlab,后续采用该方案),大概步骤如下:

#1- 先把项目的自动化脚本文件夹放到--宿主机与容器挂载的目录下
#2- 使用xftp工具,放到--宿主机与容器挂载的目录下,容器下查看下
cd /var/jenkins_nome
ls
#3- jenkins创建工程
#4- 新建任务
#5- 构建一个自由风格的软件项目
#6- 进入工程--点击配置
#7- 选择构建--操作shell 执行pytest 运行脚本
#8- 增加邮件--构建后操作

(1)先把项目的自动化脚本文件夹放到–宿主机与容器挂载的目录下
在这里插入图片描述
(2)jenkins创建工程
在这里插入图片描述
(3)配置工程,在完成系统设置后,还需要给需要构建的项目进行邮件配置。
选择配置构建后操作模块,进入系统配置页面后,点击上方的构建后操作选项,配置内容如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(4)执行shell命令启动项目
在这里插入图片描述

#!/bin/bash
rm -rf allrue-results
cd Delivery_System/test_case
pytest -sq --alluredir=${WORKSPACE}/allure-results
exit 0

在这里插入图片描述
点击保存,去工程中点击构建,如下图构建成功,如果构建失败,请查看控制台输出的日志来进行排查
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.jenkins关联git实现自动化流程
(1)docker安装gitlab容器

# 查看gitlab版本
docker search gitlab
# 拉取gitlab镜像文件
docker pull gitlab/gitlab-ce
# 由于是docker镜像运行, 所以我们需要把gitlab的配置, 数据, 日志存到容器外面, 即将其挂载到宿主机。先准备三个目录:
# 切到srv目录
cd /srv 
# 创建gitlab文件夹
mkdir gitlab
# 切换到gitlab文件夹中分别创建config,logs,data三个文件夹
cd gitlab
mkdir config logs data
# 创建gitlab容器
docker run -di -p 443:443 -p 9001:80 -p 8022:22 --hostname 虚拟机的Ip --name mygitlab --restart always -v /srv/gitlab/config:/etc/gitlab -v /srv/gitlab/logs:/var/log/gitlab -v
/srv/gitlab/data:/var/opt/gitlab -v /etc/localtime:/etc/localtime:ro --privileged=true gitlab/gitlab-ce

在这里插入图片描述(2)启动gitlab容器创建项目
输入你电脑ip:9001就可进入gitlab
在这里插入图片描述
root用户的初始密码可以进入容器内查看
在这里插入图片描述
如果要修改root用户的密码,请参考这个链接:修改root用户密码
(3)gitlab关联jenkins
先在gitlab上创建一个项目
在这里插入图片描述
创建完项目之后,本机上传代码到git项目上,具体的方法可以百度下
jenkins新建一个项目,也可以用上面手工更新的那个项目,然后直接关联git即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
每一次推送代码到git仓库时,就会自动构建一次,也会有对应的allure报告
在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值