zoukankan      html  css  js  c++  java
  • Docker 实战(2)- 在 Jenkins 容器上的搭建持续集成环境和完成自动化测试

    如果你还想从头学起 Docker,可以看看这个系列的文章哦!

    https://www.cnblogs.com/poloyy/category/1870863.html

    搭建 Jenkins 容器

    就是实战第一篇文章:https://www.cnblogs.com/poloyy/p/13954637.html

    Jenkins 初始化流程

    访问 Jenkins

    查看本机 IP

    ifconfig

    查看容器运行端口

    docker ps

    我的是用主机 80 端口映射到容器的 8080 端口

    浏览器访问 Jenkins

    http://ip:80

    查看管理员密码

    进入到页面

    查看密码有两种方式

    第一种:查看容器日志

    docker logs jenkins1

    打码那一行就是密码哦

    第二种: 去文件夹查看

    cat /var/jenkins_node/secrets/initialAdminPassword

    • 因为我创建 Jenkins 容器时,将主机的 /var/jenkins_node 目录映射了容器的 /var/jenkins_home 目录
    • 所以可以直接在主机查到管理员密码,而无需进入容器再查看

    初始化流程

    创建管理员用户

    自己配啥记住就行了,没啥特别要求

    实例配置

    默认会给一个地址的,不改也可以

    配置完成

    进入主界面

    下载插件

    需要的插件 gitlab、gitlab hook、allure

    在它安装完后,自己重启 Jenkins 容器

    docker restart jenkins1

    将插件源切换国内源

    直接看这个教程:https://www.cnblogs.com/poloyy/p/12785401.html

    Jenkins 汉化

    直接看这个教程:https://www.cnblogs.com/poloyy/p/13955209.html

    Jenkins 全局工具设置

    配置 JDK

    配置 Git

    配置 allure

    应用保存!即可!

    Jenkins 邮件功能测试

    配置 Extended E-mail Notification

    自定义电子邮=件通知的默认收件人列表

    • 可以在项目中使用 $DEFAULT_RECIPIENTS ,来包含此默认收件人列表(下面创建项目时讲到这个变量)
    • 若要向某人抄送或密件抄送,不是将其放在“收件人”列表中,请在电子邮件地址之前添加 cc: 或密件抄送 bcc: (例如:cc:someone@example.com,bcc:bob@example.com)

    配置邮箱通知

    使用 Jenkins 实现自动化测试

    将项目放到主机映射到容器的目录下

    通过  xftp 将项目上传到主机

    这是我自己的一个 pytest 项目

    验证项目能正常跑

    进入容器内,在项目文件夹爱内执行 pytest 命令

     有 28 个测试用例都跑通了哦

    Jenkins 创建任务工程

    新建任务

    Jenkins 任务配置构建后操作

    在完成系统设置后,还需要给需要构建的项目进行邮件配置

    重点:这里就有 $DEFAULT_RECIPIENTS ,上面也有讲到这个环境变量,默认收件人列表,如果需要添加新的收件邮件,需要用 , 隔开

    邮件模板

    直接复制粘贴到内容框就行

    <!DOCTYPE html>    
    <html>    
    <head>    
    <meta charset="UTF-8">    
    <title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>    
    </head>    
        
    <body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"    
        offset="0">    
        <table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">    
            <tr>    
                本邮件由系统自动发出,无需回复!<br/>            
                各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</br> 
                <td><font color="#CC0000">构建结果 - ${BUILD_STATUS}</font></td>   
            </tr>    
            <tr>    
                <td><br />    
                <b><font color="#0B610B">构建信息</font></b>    
                <hr size="2" width="100%" align="center" /></td>    
            </tr>    
            <tr>    
                <td>    
                    <ul>    
                        <li>项目名称 : ${PROJECT_NAME}</li>    
                        <li>构建编号 : 第${BUILD_NUMBER}次构建</li>    
                        <li>触发原因: ${CAUSE}</li>    
                        <li>构建状态: ${BUILD_STATUS}</li>    
                        <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>    
                        <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>    
                        <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>    
                        <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>    
                         <li>测试报告: <a href="${PROJECT_URL}allure">${PROJECT_URL}allure</a></li> 
                    </ul>    
    
    <h4><font color="#0B610B">失败用例</font></h4>
    <hr size="2" width="100%" />
    $FAILED_TESTS<br/>
    
    <h4><font color="#0B610B">最近提交(#$SVN_REVISION)</font></h4>
    <hr size="2" width="100%" />
    <ul>
    ${CHANGES_SINCE_LAST_SUCCESS, reverse=true, format="%c", changesFormat="<li>%d [%a] %m</li>"}
    </ul>
    详细提交: <a href="${PROJECT_URL}changes">${PROJECT_URL}changes</a><br/>
    
                </td>    
            </tr>    
        </table>    
    </body>

    最后保存

    进行第一次构建

    查看控制台输出

    邮件发送成功!!

    Jenkins 任务配置构建操作

    主要两个任务

    1. 配置 pytest 命令
    2. 生成 allure 报告

    配置 pytest 命令

    #!/bin/bash
    cd /var/jenkins_home/waimai
    pytest -s -q --alluredir=${WORKSPACE}/allure-reports --clean-alluredir
    exit 0

    生成 allure 报告

    这张图是重点哦

    保存!!就成功了!

    进行第二次构建

    查看 allure 报告

     
  • 相关阅读:
    使用socket BPF/Linux内核工程导论——网络:Filter(LSF、BPF、eBPF)
    使用Iperf工具测试android系统网络wifi的吞吐量wifithrougput
    html input中 button和submit的区别
    Linux转发性能评估与优化(转发瓶颈分析与解决方案)
    交叉编译器 arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别
    MySQL查询不区分大小写的sql写法
    Docker镜像保存save、加载load
    将Spring-boot应用部署到Docker容器
    Docker 安装使用
    Scalatra文件下载时中文乱码
  • 原文地址:https://www.cnblogs.com/poloyy/p/13955641.html
Copyright © 2011-2022 走看看