docker 搭建 jenkins + allure + jdk + python + pytest + gitee 配置持续集成部署(亲测无坑)

前言

本人至少重复搭建过 5 次环境,基本上所有踩过的坑文章中都有提及到,现在百度到的一些资料,基本上要么不全面,要么搭建过程中会遇到很多异常,这篇文章会讲到如何搭建 docker 环境,并且安装 python jdk allure环境,结合 Gitee 码云来实现持续集成,全程图文教程,一文搞定持续集成部署!

前提条件

Docker 要求 CentOS 系统的内核版本高于 3.10 ,首先验证你的服务器是否支持Docker!

通过 uname -r 命令查看当前的内核版本

在这里插入图片描述

安装docker

第一步:检查并清除系统残余项,并安装Docker依赖环境

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

执行结果:

在这里插入图片描述
我这台是新租的服务器的,所以没有依赖项存在。(为了保障docker的顺利安装还是执行了一下)

安装下载Docker依赖的工具

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

运行结果:
在这里插入图片描述
这里内容比较长,我只截取了结尾部分。如果你和我一样,则表示安装成功了。

添加阿里云的软件源

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

运行结果:
在这里插入图片描述
以后每个软件都优先从阿里云的软件库中下载,如果阿里云仓库没有,会去docker.hub中下载。(与maven仓库同理)

### 更新yum缓存(为了保证能更新和下载需要的服务:如docker)

sudo yum makecache 

在这里插入图片描述
## 第二步:Docker依赖环境搭建好之后,安装并启动Docker

安装Docker(CE-社区版)

sudo yum -y install docker-ce

由于需要下载并安装docker,有的机器会有点慢,请耐心等待!

在这里插入图片描述
同样这里内容较长,我只截图了末尾的部分,看到complete!下载并安装成功!

启动Docker服务

sudo systemctl start docker

以上我们已经将Docker安装好了,接下来测试下Docker是否可以顺利启动:

docker info

在这里插入图片描述
我们可以看到Docker已经启动成功,而且容器与镜像数都为0,是一个全新的docker服务

设置开机自启(非必设项,根据自己习惯设置)

sudo systemctl enable docker

在这里插入图片描述
到此为止,Docker就已经下载并安装完成!

查看docker版本

docker -v

在这里插入图片描述

下载jenkins镜像

docker pull jenkins/jenkins:2.289.3-centos

jenkins/jenkins:2.289.3-centos 为jdk-8,其他版本需求,docker仓库选择需要的镜像版本

等待下载完成

在这里插入图片描述

挂载目录

mkdir -p  /home/yushaoqi/jenkins_node
升级权限:
chmod -R 777 /home/yushaoqi/jenkins_node

在这里插入图片描述

启动镜像

docker run -d -uroot -p 8989:8080 --name jenkins1 -e LANG=C.UTF-8 -v /home/yushaoqi/jenkins_node:/var/jenkins_home jenkins/jenkins:2.289.3-centos

在这里插入图片描述

查看jenkins镜像是否启动成功

docker ps

在这里插入图片描述

进入容器

docker exec -it -uroot jenkins1 bash

在这里插入图片描述

前置准备,更新包

# 获取最新的软件包
yum update

如果和我一样有抛如下异常,可以参考下方内容,处理该异常,如果没有,则直接跳过

1、第一步,首先进入到 yum 的 repos 目录
cd /etc/yum.repos.d/

2、第二步,修改 centos 文件内容
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

3、第三步,生成缓存更新(第一次更新,速度稍微有点慢,耐心等待两分钟左右)
yum makecache

4、第四步,运行 yum update 并重新安装 vim
yum update -y
yum -y install vim

提前安装,以便接下来的配置操作

这里基本上就是一个命令一个命令的运行,基本上没有什么问题,如果看到每个命令运行完成之后都展示Complete就都安装安装成功了

yum -y install gcc automake autoconf libtool make
yum -y install make*
yum -y install zlib*
yum install openssl-devel -y //
yum -y install sudo

在这里插入图片描述

容器内安装python3环境

# 进入jenkins_home目录
cd /var/jenkins_home/
# 创建python存放路径
mkdir python3
cd python3/

# 安装wget
yum -y install wget

# 下载python3
wget  http://npm.taobao.org/mirrors/python/3.7.9/Python-3.7.9.tgz

# 解压文件目录
tar -zxvf Python-3.7.9.tgz

# 查看解压后的文件
ls

# 更改解压后文件包名(可选项)
mv Python-3.7.9 py3.7

make编译安装

在py3.7目录下
这里会时间相对较长,请耐心等待

1、第一步
cd py3.7
2、第二步
./configure --prefix=/var/jenkins_home/python3 --with-ssl
3、第二步
make
4、第四步
make install

到这里python已经安装完成啦,试试python3是否能够进入python编辑器,无法进入加个软链接

添加,软连接

添加python3软链接
ln -s /var/jenkins_home/python3/bin/python3.7 /usr/bin/python3
添加pip3软链接
ln -s /var/jenkins_home/python3/bin/pip3 /usr/bin/pip3

这个时候使用python3命令已经可以进入python编辑栏啦!

在这里插入图片描述

安装allure

官网下载 allure 包

https://github.com/allure-framework/allure2/releases

选个最新版本的去下就行,或者自己挑一个版本,这里我的版本是2.17.3。

下面打开一个新的服务器页面,退出到容器外面

在这里插入图片描述

# 使用linux中的rz或者sz命令,可以讲电脑中的文件上传到linux服务器中,如果已经安装过,可以忽略
yum install lrzsz

可以看到我本地电脑C盘下载了allure 2.17.3版本的压缩包
在这里插入图片描述
下面进入docker挂载目录

cd /home/yushaoqi/jenkins_node
# 输入rz命令,然后会出现一个上传文件的弹窗,选择我们本地安装好的allure的安装包
rz

在这里插入图片描述
安装成功之后,我们到容器内部

cd /var/jenkins_home/
ls

可以看到我们挂载目录之后,直接在服务器挂载的目录中上传的文件,在容器内部可以看到这个压缩包了

在这里插入图片描述

解压allure

unzip allure-2.17.3.zip 

在这里插入图片描述
赋予文件夹所有内容最高权限

mv allure-2.17.3  allure
chmod -R 777 allure

在这里插入图片描述

配置 allure 和 py 环境变量

记得一行一个回车哦

cat >> /root/.bashrc << "EOF" 
export PATH=/var/jenkins_home/allure/bin:$PATH 
export PATH=/var/jenkins_home/python3/bin:$PATH 
EOF

更新环境变量配置文件

source /root/.bashrc

在这里插入图片描述
验证环境变量

allure --version
python3 --version

在这里插入图片描述

配置 JDK 环境变量

cat >> /root/.bashrc<< "EOF" 
export PATH=$JAVA_HOME/bin:$PATH 
EOF

更新环境变量配置文件

source /root/.bashrc

在这里插入图片描述

配置jenkins

上面我们docker环境都安装完成了,我们再来配置jenkins,此时我们通过服务器的 ip 地址 + 8989 端口就可以直接访问我们的jenkins

如果你的访问不了,可以查看我的这篇博客 《Linux 部署项目并启动后,外网无法访问的几个原因》

在这里插入图片描述

在docker中查看jenkins

vi /var/jenkins_home/secrets/initialAdminPassword

在这里插入图片描述

复制上图中的密码到jenkins,然后输入:q 退出当前页面
:q

在这里插入图片描述
选择安装推荐的插件,下面我们只需要漫长的等待即可
在这里插入图片描述
安装好之后,创建管理员用户,这里自己设置,设置好点击「保存并完成」即可。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装Gitee插件

在这里插入图片描述

Gitee配置

在这里插入图片描述

链接名随便填,jenkens内唯一不能重复

在这里插入图片描述
在这里插入图片描述
访问码云私人令牌获取地址
生成新的令牌

在这里插入图片描述
在这里插入图片描述
保存这个密钥,以免日后会有需要,关闭之后,平台就不会在展示这个私人令牌了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

新建项目

自定义项目名称,然后构建一个自由风格的软件项目

在这里插入图片描述
选择gitee链接,配置源码管理中仓库地址,Credentials中添加输入码云账号密码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置gitee webhook

在这里插入图片描述
先点击生成,然后复制这段密码

然会
然后打开我们Gitte的仓库,到「管理」中,点击「webhooks」

在这里插入图片描述

在这里插入图片描述
配置好之后,先点击保存

在这里插入图片描述

此时我们先构建一次,可以在控制台上面看到我们的项目路径在这里插入图片描述

docker中进入这个项目地址

cd /var/jenkins_home/workspace/ApiTestAuto2
ls

在这里插入图片描述
安装我们项目的依赖包

 pip3 install -r requirements.txt

开始安装我们的依赖,注意,如果此时有部分安装包提示安装失败,没有关系,可以跳过这些安装包,单独下载,因为有些版本对应不上的缘故

在这里插入图片描述
依赖库安装好之后,再次进入jenkins,配置shell,配置内容如下

在这里插入图片描述
这个时候我们构建,项目就可以正常运行了,但是此时我们还少了allure报告的配置

#!/bin/bash
cd /var/jenkins_home/workspace/ApiTestAuto2
python3  run.py

配置allure

先安装allure插件,安装好之后我们重启jenkins

在这里插入图片描述
全局配置中配置allure命令行(首先要去下载allure-commandline,如果是Linux系统,allure命令路径换成Linux下的commandline的路径即可)

在这里插入图片描述
设置好之后,点击「应用」,在点击「保存」

项目里面设置了配置allure

在这里插入图片描述

在这里插入图片描述
注意上面的Path 要和我们配置的路径是同一个

在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七月的小尾巴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值