全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件

docker部署jenkins,并集成allure测试报告

一:安装docker

1:检查linux系统的防火墙以及selinux的安全策略
    [root@localhost ~]# systemctl status firewalld

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第1张图片

    如何显示running,则使用命令关闭防火墙: [root@localhost ~]# systemctl stop firewalld  
    [root@localhost ~]# getenforce        Enforing代表强制模式

在这里插入图片描述

2:开启IPv4 转发,将网卡的路由功能开启,使容器能够和linux宿主机进行网络通信
    [root@localhost ~]# sed -i '$a\ net.ipv4.ip_forward=1' /etc/sysctl.conf
    重启网卡:[root@localhost ~]# systemctl restart network
    检查配置是否生效 :[root@localhost ~]# sysctl net.ipv4.ip_forward
        若显示如下,则配置成功

在这里插入图片描述

3:安装需要的系统工具
    [root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

4:添加软件源信息
    [root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5:更新并安装Docker-CE
    [root@localhost ~]# yum makecache fast
    [root@localhost ~]# yum -y install docker-ce

6:启动docker服务,并设置docker 开机自动启动
    [root@localhost ~]# systemctl start docker
    [root@localhost ~]# systemctl enable docker

7:配置docker加速器 :[root@localhost ~]# vim /etc/docker/daemon.json
    {
        "registry-mirrors": [
            "https://kfwkfulq.mirror.aliyuncs.com",
            "https://2lqq34jg.mirror.aliyuncs.com",
            "https://pee6w651.mirror.aliyuncs.com",
            "https://registry.docker-cn.com",
            "http://hub-mirror.c.163.com"
                                             ],
            "dns": ["8.8.8.8","8.8.4.4"]


    }
    保存,退出

8: 配置后重启docker
    [root@localhost ~]# systemctl daemon-reload
    [root@localhost ~]# systemctl restart docker

9:检查docker是否正常运行
    [root@localhost ~]# systemctl status docker   如下图所示

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第2张图片

二:在docker容器中安装jdk1.8

1:查找JDK 
    [root@localhost ~]# docker search jdk

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第3张图片

2:拉取JDK1.8镜像
    [root@localhost ~]# docker pull kdvolder/jdk8

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第4张图片

3:查看镜像
    [root@localhost ~]# docker images

在这里插入图片描述

4:启动JDK镜像
    [root@localhost ~]# docker run -di --name=jdk1.8 kdvolder/jdk8

在这里插入图片描述

5:查看镜像运行情况
    [root@localhost ~]# docker ps

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第5张图片

6:进入镜像,查看jdk版本
    方法1  退出后  docker ps 进程还在     docker exec -it jdk1.8 /bin/bash
    方法2 退出后    进程也会自动退出       docker attach 镜像id
    查看jdk版本:root@31538e80e0c0:/# java -version

在这里插入图片描述

7:退出镜像
    root@31538e80e0c0:/# exit

在这里插入图片描述

8:停止镜像
    docker stop 镜像id   --> root@31538e80e0c0:/# docker stop 7c0d2599de8

在这里插入图片描述

9:再次启动镜像
    docker start 镜像id   --> [root@localhost ~]# docker start 7c0d2599de8

在这里插入图片描述

三:在docker容器中安装jenkins

1:拉取jenkins镜像文件
    [root@localhost ~]# docker pull  jenkins/jenkins

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第6张图片

2:创建jenkins的挂载目录并且授权
    [root@localhost ~]# mkdir -p /var/jenkins_mount
    [root@localhost ~]# chmod 777 /var/jenkins_mount

3:创建并启动jenkins容器
    [root@localhost  /]# docker run -d -p 9090:8080 -p 9091:50000 -v /var/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --name myjenkins jenkins/jenkins

4:查看jenkins是否启动成功,如下图所示
    [root@localhost ~]# docker ps

在这里插入图片描述

5:查看docker容器日志
    [root@localhost ~]# docker logs myjenkins

6:配置镜像加速,进入cd /var/jenkins_mount/ 目录
    [root@localhost ~]#  cd /var/jenkins_mount/
    修改 vi  hudson.model.UpdateCenter.xml里的内容:将 url 修改为 清华大学官方镜像,如下图所示
        url----->  https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第7张图片

7:访问jenkinsyemian,输入ip加上端口9090

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第8张图片

8:获取管理员的密码,编辑文件查看,吧密码输入登录中的密码即可
    [root@localhost secrets]# cat /var/jenkins_mount/secrets/initialAdminPassword

在这里插入图片描述

9:到此jenkins就全部安装成功,如图

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第9张图片

四:配置jenkins

1:安装插件
    1:进入系统管理--> 管理插件

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第10张图片

    2:在available中输入以下插件 
        Localization: Chinese (Simplified)   汉化插件
        Subversion      拉取源文件插件,本次讲的是svn,如需git可查看相关资料
         Email Extension     邮件发送插件

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第11张图片

    3:安装完后重启jenkins

2:新建任务
    首页->新建任务->输入任务名->自由风格->确定

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第12张图片

3:源码管理
    在源码管理栏,配置SVN的仓库地址、用户名、密码等信息,实现从SVN上拉取代码

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第13张图片

    配置SVN用户名、密码

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第14张图片

    点击立即构建,检查配置SVN成功;如果配置成功,可以从SVN上拉取代码

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第15张图片

4:构建
    配置构建操作,也就是拉取代码后需要执行的操作。

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第16张图片

5:构建触发器
1:构建触发器的语法:* * * * * (五颗星,中间用空格隔开)
全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第17张图片

2:Build periodically:可以配置周期性地构建任务,配置的时间一到就勾选项目。

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第18张图片

    3:Poll SCM:可以实现周期性地检查仓库的代码是否有更新,有更新才构建项目,没更新就不构建。

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第19张图片

6:配置邮件通知
    1:配置邮件通知:配置系统管理员邮件地址   系统管理---->系统配置

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第20张图片

    2:配置 Extended E-mail Notification

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第21张图片
全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第22张图片
全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第23张图片

    3:验证邮箱是否配置成功

在这里插入图片描述

7:配置构建后的操作
    1:选择 Editable Email Notification
![在这里插入图片描述](https://img-blog.csdnimg.cn/e11511cfe84441ac93dd35109c60c496.jpg#pic_center)


    2:配置具体信息

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第24张图片
全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第25张图片
全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第26张图片
全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第27张图片

    默认邮箱文本
            
            
            
            
        ${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志    
            
            
            
                
                    本邮件由系统自动发出,无需回复!
各位同事,大家好,以下为${PROJECT_NAME }项目构建信息
构建结果 - ${BUILD_STATUS}

构建信息

失败用例


$FAILED_TESTS

最近提交(#$SVN_REVISION)


    ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="
  • %d [%a] %m
  • "}
详细提交: ${PROJECT_URL}changes
————————————————

五:配置allure插件

1:安装插件allure
    进入系统管理--> 管理插件-->在available中输入allure插件 ,安装成功后重启jenkins

2:配置jenkins的Allure
    进入系统管理--> 全局工具配置

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第28张图片

3:配置构建后的操作

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第29张图片
全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第30张图片

4:测试配置是否成功,在构建配置,再进行构建

全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第31张图片

注意1:会出现构建不成功,因为没有安装python3,导致pytest也没用
注意2:在linux配置python3没有用,因为jenkins是在容器中运行的,我们需要在jenkins中配置python3
具体步骤见第六步

六:在jenkins中配置python3

1:进入jenkins内部:进docker容器, 加上-u root 以root用户权限进入容器
    [root@localhost secrets]# docker exec -itu root 容器id /bin/bash

在这里插入图片描述

2:查看当前操作系统 
    root@708c6870ef4e:/# cat /etc/issue
    这里查到的是Debian系统(不是ubuntu, 也不是centos),这里yum是没有的,所以不能用yum安装了,这里用apt-get代替yum先执行更新   apt-get

在这里插入图片描述

3:更新apt-get
    root@708c6870ef4e:/# apt-get update

在这里插入图片描述

4:容器内部安装python3环境
root@cb8e397d5308:/var/jenkins_home# cd /var/jenkins_home/
root@cb8e397d5308:/var/jenkins_home# mkdir python3
root@cb8e397d5308:/var/jenkins_home# cd python3/
root@cb8e397d5308:/var/jenkins_home# apt-get install wget  
root@cb8e397d5308:/var/jenkins_home/python3# wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz
root@cb8e397d5308:/var/jenkins_home/python3# tar -xvf Python-3.7.7.tgz
root@cb8e397d5308:/var/jenkins_home/python3# ls
    Python-3.6.8  Python-3.7.7.tgz

root@cb8e397d5308:/var/jenkins_home/python3# cd Python-3.7.7
root@cb8e397d5308:/var/jenkins_home/python3/Python-3.7.7# ./configure --prefix=/var/jenkins_home/python3
    checking build system type... x86_64-pc-linux-gnu
    checking host system type... x86_64-pc-linux-gnu
    ...
    configure: error: in `/var/jenkins_home/python3/Python-3.6.8':configure: error: no acceptable C compiler found in $PATHSee `config.log' for more details

    执行时会报错,因为缺少gcc相关依赖包

5:apt-get安装依赖包:使用apt-get代替yum安装相关依赖包
    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
    apt-get install sudo

5:make编译安装
    在/var/jenkins_home/python3/Python-3.7.7目录执行make和make install 安装
    ./configure --prefix=/var/jenkins_home/python3 --with-ssl
    make
    make insatll

6:添加软链接
    添加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

7:检查环境
    1:检查pip3
    2:检查python
    3:安装所需要的模块

注意:如果构建说pytest找不到,那么可以使用绝对路径
查找绝对路径:which pytest

到这一步,恭喜你。我们就可以发送在jenkins进行构建发送allure报告了

如图:
1:构建结果:
全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第32张图片
2:邮件结果
全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第33张图片

3:具体测试报告
全网最全最细的教程,在docker下部署jenkins,集成allure测试报告,并发送邮件_第34张图片

如有不明白的地方,可以私信

同时,如果文章中有图片显示不全,可以点击跳转我在幕布中的笔记

你可能感兴趣的:(笔记)