Docker--在 Jenkins 容器上的搭建持续集成环境和完成自动化测试
本文转自:https://www.cnblogs.com/poloyy/p/13955641.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 任务配置构建操作
主要两个任务
- 配置 pytest 命令
- 生成 allure 报告
配置 pytest 命令


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


这张图是重点哦
保存!!就成功了!
进行第二次构建

查看 allure 报告

Docker--在 Jenkins 容器上的搭建持续集成环境和完成自动化测试的更多相关文章
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
前言 上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库 ...
- Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(二)
上一篇随笔Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)介绍maven和nexus的环境搭建,以及如何使用maven和nexus统一管理库文件和版本,以 ...
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境
前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A和B都习 ...
- Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境
使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一) 2015-01-14 20:28 by 飘扬的红领巾, 4322 阅读, 5 评论, 收藏, 编辑 ...
- 使用Maven+Nexus+Jenkins+Svn+Tomcat+Sonar搭建持续集成环境(一)
前言 但凡一个略有规模的项目都需要一个持续集成环境的支撑,为什么需要持续集成环境,我们来看一个例子.假如一个项目,由A.B两位程序员来协作开发,A负责前端模块,B负责后端模块,前端依赖后端.A ...
- Jenkins+ANT+SVN快速搭建持续集成环境
伟大的语言都从helloworld开始,这里我们用Jenkins+ANT+SVN来搭建这一套持续集成环境. 环境准备: 一台已经配置好Jenkins和Ant的机器. 项目准备: 用Ecplise建立一 ...
- Jenkins+Maven+SVN快速搭建持续集成环境(转)
Jenkins是一个可扩展的持续集成引擎,Jenkins非常易于安装和配置,简单易用,下面看看我们是如何几分钟就快速搭建一个持续集成环境吧. 假设我们目前已经有2个maven项目:entities(J ...
- Jenkins+Maven+SVN快速搭建持续集成环境
http://www.cnblogs.com/sunzhenchao/archive/2013/01/30/2883289.htmlhttp://blog.csdn.net/pein_zero/art ...
- Docker+Jenkins+Maven+SVN搭建持续集成环境
Docker+Jenkins+Maven+SVN搭建持续集成环境 环境拓扑图(实验项目使用PHP环境) 发布流程图 环境说明 系统:Centos 7.4 x64 Docker版本:18.09.0 Ma ...
- ASP.NET Core + Docker + Jenkins + gogs + CentOS 从零开始搭建持续集成
为什么不用gitlab? 没有采用gitlab,因为gitlab比较吃配置,至少得2核4G的配置.采用go语言开发的gogs来代替,搭建方便(不到10分钟就能安装完成),资源消耗低,功能也比较强大,也 ...
随机推荐
- SpecCPU2017 测试cpu性能
SpecCPU介绍见: https://blog.csdn.net/qq_36287943/article/details/103601539 官网:https://spec.org/ 1.SpecC ...
- 重启nginx 报错 nginx.pid
先检查 nginx -c /etc/nginx/nginx.conf 看看端口是否被占用 若占用杀掉 ps -ef | grep nginx kill --- 然后再用nginx -c /etc/ng ...
- linux磁盘读写速度测试
磁盘读写速度标准 1.机械硬盘读写速度平均60---80M每秒. 2.固态硬盘不同品牌型号之间,平均大约在150---300M每秒. 3.5400转的笔记本硬盘:50-90MB每秒. 4.7200转的 ...
- vscode中配置代码片段
首先我们需要把要配置的代码复制一下,如: 然后我们进入https://snippet-generator.app/网站, 进入网站之后就把你复制的代码粘贴到左边的框里面,然后就是代码的类型和命名了 写 ...
- 读取excel等文件根据注解自动装填为实体类
问题:以前每次读取excel 都是根据第几列来装填实体类里面的属性.写起来很麻烦.还要判断. 思路: 1.因为每次读取excel 或者word表格 都能得到是第几列的数据,那么可以知道每列数据的ind ...
- DOS命令操作
打开CMD的方式 1.开始+系统+命令提示符 2.Win键+R 输入CMD打开控制台(推荐使用) 3.在任意的文件夹下面,按住shift+鼠标右键点击,在此处打开命令行窗口 4.资源管理器的地址栏前面 ...
- 最近录了一些python视频教程
最近录了一些python视频教程,目前有机器学习的.python基础知识的,大家可以去B站观看. https://space.bilibili.com/431152063 python机器学习之KNN ...
- flutter Slivers
一. Slivers 我们考虑一个这样的布局:一个滑动的视图中包括一个标题视图(HeaderView),一个列表视图(ListView),一个网格视图(GridView). 我们怎么可以让它们做到统一 ...
- sxt_(001_003)_spring_ioc
一.spring简介 Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架.Spring框架是由于软件开发的复杂性而创建的.Spring使用的是基本的JavaBean来完成以前只可 ...
- Linux使用tailf高亮显示关键字
Linux下使用tail查找日志文件关键词高亮显示 ① 多个关键词高亮显示: tail -f 日志文件 | perl -pe 's/(关键词)/\e[1;颜色$1\e[0m/g' 示例: tail - ...