• 基于Docker环境下的Jenkins搭建及使用


    Jenkins作为目前持续集成中使用较为广泛的工具,在实际生产过程中通过结合众多的插件,从而实现工程的持续构建、持续部署。

    而传统构建的应用场景大多数运行在虚拟机或者独立的服务器上,在资源开销和管理维护较为复杂。相比于独立的服务器/虚拟机而言,容器不仅部署方便,且占用资源较少。

    Docker作为目前作为业内最火的一个容器解决方案之一,通过将两者结合,从而实现服务的轻量化,并通过Docker管理Jenkins的资源。下面通过Docker部署Jenkins、Jenkins配置以及实例构建,讲述Jenkins的基本使用。

    Docker下安装Jenkins

    mkdir /home/jenkins   # 新建Jenkins工作目录
    docker pull jenkins/jenkins:lts  # 拉取Jenkins镜像
    
    ls -nd /home/Jenkins  # 查看目录归属ID
    chown -R 1000:1000 /home/jenkins  # 赋予权限
    
    • 1
    • 2
    • 3
    • 4
    • 5

    注:因为Jenkins容器里的用户是Jenkins,而主机用户不是Jenkins,就算是root也一样会报错:/var/jenkins_home/copy_reference_file.log: Permission denied,这个时候就需要在主机上面给主机地址赋予访问Jenkins容器的权限,Jenkins内部用的是uid 1000的user。

    docekr run -dt --name jenkins -p 9090:8080 -p 50000:50000 --privileged=true -v /home/jenkins:/var/jenkins_home jenkins/jenkins:lts   # 运行Jenkins容器
    
    • 1

    -privileged=true让容器具有root权限,便于进入容器

    -p 9090:8080指定主机9090端口映射到Jenkins容器的8080端口(Jenkins的web访问端口)

    -v /home/jenkins:/var/jenkins_home容器/var/jenkins_home路径挂载到宿主机/home/jenkins路径

    启动Jenkins

    浏览器输入http://ip:9090访问Jenkins首页:

    图片

    密码地址

    容器内:/var/jenkins_home/secrets/initialAdminPassword

    宿主机:/home/jenkins/secrets/initialAdminPassword

    进入插件下载页面,下载插件:

    图片

    Jenkins插件下载

    cd /var/jenkins_home/updates #进入容器并切换到updates目录
    sed -i 's#https://updates.jenkins.io/download#https://mirrors.huaweicloud.com/jenkins#g' default.json && sed -i 's#http://www.google.com#https://www.baidu.com#g' default.json  #替换url
     
    
    • 1
    • 2
    • 3

    再进入插件下载管理页面http://ip:9090/pluginManager/advanced,使用https://cdn.jsdelivr.net/gh/jenkins-zh/update-center-mirror/tsinghua/current/update-center.json替换原来的json。

    配置Jenkins

    在这里插入图片描述

    修改Jenkins时间

    查看宿主机系统时间:

    date -R
    
    • 1

    进入Jenkins容器查看时间:

    docker exec -it -u root 容器id /bin/bash # 进入容器
    date -R # 查看容器内时间
    echo Asia/Shanghai >/etc/timezone # 容器内创建Asia时区文件
    docker cp /usr/share/zoneinfo/Asia/Shanghai 容器id:/etc/localtime  # 退出容器并复制宿主机中localtime到容器内
    
    • 1
    • 2
    • 3
    • 4

    配置Python3环境

    Jenkins容器内并没有Python3环境,需要自己安装:

    docker exec -it -u root 容器id /bin/bash #进入容器
    cat /etc/issue #查看当前操作系统
    
    • 1
    • 2

    注:Debian系统,这里使用apt-get代替yum。

    apt-get update #更新apt-get
    
    #apt-get安装依赖包
    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
    
    # 安装Python3
    cd /var/jenkins_home
    mkdir python3
    cd python3
    wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz # 获取python-3.6.8.tgz包
    tar -xvf Pyhthon-3.6.8.tgz #解压
    cd Python-3.6.8 # 切换到Python-3.6.8目录
    
    #执行make和make install安装
    ./configure --prefix=/var/jenkins_home/python3 --with-ssl
    make
    make install
    
    # 添加软连接
    # 添加Python3软连接
    ln -s /var/jenkins_home/python3/bin/python3.6 /usr/bin/python3
    # 添加pip3软连接
    ln -s /var/jenkins_home/python3/bin/pip3 /usr/bin/pip3
    
    # 安装所需Python库
    pip3 instal requests pytest-html pytest
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    配置HTML报告/Allure报告

    HTML报告配置

    HTML Publisher插件下载,系统设置–>插件管理-可选插件,搜索:HTML Publisher。

    图片

    Allure报告配置

    下载allure:https://github.com/allure-framework/allure2/releases/download/2.14.0/allure-2.14.0.tgz。

    docker cp /home/allure-2.14.0.tgz 容器id:/var/jenkins_home # 拷贝到容器内
    
    cd /var/jenkins_home
    mkdir allure
    cd /var/jenkins_home/allure
    tar -xvf allure-2.14.0.tgz # 解压allure
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    安装Allure Jenkins Plugin插件,系统管理插件管理-可选插件,搜索Allure:

    图片

    安装完成后,全局工具配置>Allure Commandline安装allure命令行工具,选择容器内路径。

    简单使用-实例构建

    构建job。

    图片

    参数化构建

    系统设置–>插件管理-可选插件,搜索Git Parameter.

    图片

    安装完成后,job中勾选参数化构建过程。

    注:这里是生成allure报告的配置,如果是要生成HTML报告则使用如下命令:

    pytest test_demo.py --html=report/result.html --self-contained-html
    
    • 1

    构建后操作

    图片

    path地方写Aallure报告的地址,与执行shell地方生成的报告地址保持一致即可。

    图片

    注:上述是生成allure报告配置,生成HTML配置如下:

    图片

    图片

    注:HTML添加css样式。

    安装Startup Trigger和Groovy插件

    在Job配置页面构建触发器勾选Build when job nodes start

    图片

    增加构建步骤Execute system Groovy script

    图片

    配置成功

    配置成功后,参数化构建:

    片

    控制台输出

    图片

    Allure报告查看

    图片

    图片

    HTML报告查看

    图片

    图片


    资源分享

    下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    《算法竞赛进阶指南》,USACO2007 牛站
    javaweb JDBC练习
    Docker 基本使用
    ChatGLM lora微调时出现KeyError: ‘context‘的解决方案
    Python 学习之路
    计算机网络和因特网
    怎么做好测试用例评审
    Centos7下harbor的安装部署
    电脑误删除的文件怎么恢复?妙招解决它
    【JVM笔记】本地方法栈
  • 原文地址:https://blog.csdn.net/wx17343624830/article/details/127737797