Linux下利用docker搭建jenkins + allure + jdk + python + pytest + gitee 配置持续集成部署(亲测)

前言

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

前提条件

1、使用Linux的GUI版本,不能安装mini版;
2、docker要求centOS内核高于3.10。
使用uname -r命令查看内核参数:
在这里插入图片描述

安装docker

  • 1、确保环境此前无安装过docker;

  • 2、先安装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

然后更新yum缓存:

sudo yum makecache 

安装docker-ce(CE指的是社区版)

sudo yum -y install docker-ce

下载安装会有点慢,依网速和机器而定,请耐心等待!
在这里插入图片描述
同样,如上图所示,则表示安装成功。

启动docker

sudo systemctl start docker

然后我们测试是否安装成功,执行如下命令:

docker info

如下所示则证明docker安装成功:
在这里插入图片描述

设置docker开机自启

sudo systemctl enable docker

到此为止,docker就算安装成功了。

下载Jenkins镜像

docker pull jenkins/jenkins:2.289.3-centos

在这里插入图片描述

挂载目录

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

在这里插入图片描述

启动Jenkins镜像

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

在这里插入图片描述

查看Jenkins镜像是否启动成功

docker ps

在这里插入图片描述

进入Jenkins容器

docker exec -it -uroot jenkins1 bash

更新容器内包

# 获取最新的软件包
yum update

报错:Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

如果你和我一样有如上报错,可以参考一下处理方式,如果没有则直接跳过:

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编译安装python3

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

添加python3的软连接

添加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了,试试用python3命令看看能不能进入python解释器吧!
在这里插入图片描述

容器内安装allure环境

首先去官网下载allure包:https://github.com/allure-framework/allure2/releases
我下载的是最新的2.21.0.zip
在这里插入图片描述
然后打开一个新的xshell连接页面,退出到容器外面
在这里插入图片描述
然后安装lrzsz工具:

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

在这里插入图片描述

下面进入到docker挂载目录

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

传输完成后,我们进入到容器内

cd /var/jenkins_home/
ls

可以看到我们挂载目录之后,就能看到我们刚才传输的这个allure压缩包了
在这里插入图片描述

解压allure安装包

unzip allure-2.21.0.zip

修改文件夹名称并赋予其最高权限

mv allure-2.21.0  allure
chmod -R 777 allure

在这里插入图片描述

配置allure和Python的环境变量

记得一行一个回车

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

在这里插入图片描述
验证JDK配置
在这里插入图片描述

配置Jenkins

截止目前,我们的docker环境已经搭建完成了,接下来我们来配置Jenkins,此时我们通过服务器的IP+8989端口即可访问我们的Jenkins,如果访问不了,请检查一下防火墙是否关闭以及是否开放8080端口。
在这里插入图片描述

然后我们根据提示去容器中查找密码

cat /var/jenkins_home/secrets/initialAdminPassword

在这里插入图片描述
复制上图中的密码到jenkins进行登录操作。

然后登录之后,进行新手操作,选择安装推荐的插件即可,然后进行漫长的等待…
在这里插入图片描述
安装好之后,创建管理员用户。然后默认实例配置,点击开始使用Jenkins就可以了。
在这里插入图片描述

安装Gitee插件

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

配置Gitee

在这里插入图片描述

链接名随便填,Jenkins内唯一不能重复
在这里插入图片描述
添加凭据:访问Gitee私人令牌获取地址
在这里插入图片描述
生成新的令牌
在这里插入图片描述
到这儿Gitee就算配置完成了。

新建项目

自定义项目
在这里插入图片描述
选择Gitee连接,配置源码管理仓库中的地址,Credentials中添加Gitee的账户密码
在这里插入图片描述在这里插入图片描述

配置gitee webhook

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
复制密码,到gitee上:
在这里插入图片描述
在这里插入图片描述
URL这里要是能够外网访问的地址,否则会报错,不知道怎么弄的看链接:https://blog.youkuaiyun.com/liqing0013/article/details/80731757

配置好之后,点击保存。
然后在Jenkins中执行一次构建,可以看到我们的项目路径:
在这里插入图片描述
docker容器中进入这个项目地址:

cd /var/jenkins_home/workspace/ApiTestAuto
ls

在这里插入图片描述
然后就开始安装我们执行项目的依赖,如果安装失败则大概率是版本对应补上,手动安装就行了。

配置构建步骤

在这里插入图片描述

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

配置allure

安装allure插件
在这里插入图片描述
安装好之后去配置allure:
在这里插入图片描述
在这里插入图片描述
设置好之后,点击应用和保存。

项目里设置allure

在这里插入图片描述
在这里插入图片描述
注意上面的path要跟我们项目的路径是同一个。
在这里插入图片描述

效果

在这里插入图片描述
忙完了,大功告成!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值