Docker 实战(2)- 配置 Jenkins 容器上的持续集成环境
如果你还想从头学起 Docker,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1870863.html
搭建 Jenkins 容器
就是实战第一篇文章:https://www.cnblogs.com/poloyy/p/13954637.html
Jenkins 初始化流程
访问 Jenkins
查看本机 IP
ifconfig6·rtyjie
查看容器运行端口
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 实战(2)- 配置 Jenkins 容器上的持续集成环境的更多相关文章
- Docker+Jenkins+Maven+SVN搭建持续集成环境
Docker+Jenkins+Maven+SVN搭建持续集成环境 环境拓扑图(实验项目使用PHP环境) 发布流程图 环境说明 系统:Centos 7.4 x64 Docker版本:18.09.0 Ma ...
- Jenkins Jenkins结合GIT Maven持续集成环境配置
Jenkins结合GIT Maven持续集成环境配置 by:授客 QQ:1033553122 安装Git插件 1 安装Git客户端 1 安装JAVA JDK及MAVEN 2 Jenkins JDK ...
- Net 项目构建基于Jenkins + Github + Mono 的持续集成环境
Net 项目构建基于Jenkins + Github + Mono 的持续集成环境 阅读目录 1 安装 2 配置 3 测试 在Redhat enterprise 6.5 的服务器上,为在gutub 上 ...
- Jenkins 搭建 .NET Core 持续集成环境
关于c#的.Net FrameWork 的集成环境以及MsBuild的配置可以看 jenkins搭建.NET FrameWork持续集成环境 这篇文章 关于.NET Core 这个项目 ...
- 在Redhat上为.Net 项目构建基于Jenkins + Github + Mono 的持续集成环境
在Redhat enterprise 6.5 的服务器上,为在gutub 上的 .net 项目构建一个持续集成环境,用到了Jenkins和mono.因公司的服务器在内网,访问外网时要通过代理,所以在很 ...
- Jenkins+Maven+Sonar系统持续集成环境部署以及配置
一.Jenkins介绍以及安装 什么是持续集成? 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Ag ...
- Jenkins+Maven+Gitlab+Nexus持续集成环境搭建
1.软件及服务介绍 Jenkins:jenkins是实现代码自动化流程上线的工具,Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个 ...
- Jenkins + svn + maven 构建持续集成环境搭建
Jenkins简介 Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: ...
- Jmeter + Ant + Jenkins 接口/性能测试,持续集成环境搭建
1. 安装Jmeter.jdk Jmeter 3.3版本 :<http://note.youdao.com/noteshare?id=5e3fd287db24d08386207a7de22d26 ...
随机推荐
- 发现3 .js与Android和英特尔XDK
下载example3.zip - 456.5 KB 下载apk14.zip - 6.8 MB 下载apk13.zip - 6.8 MB Introduction 本文是关于使用Intel XDK和t ...
- js获取foreach循环选中的值
一,循环出来的值,通过checked选中,获取到value值 二,定义一个空数组,用push将数据保存在数组里面 以上操作便可以进行虎丘选中的值了
- Oracle - ascii为0的陷阱
一.概述 ascii0是个空字符,如果将这个字符插入到oracle数据库中会是什么现象,是null吗? 二.正式实验 创建一张测试表 create table test(id int, name va ...
- C++ 构造函数、拷贝构造函数、赋值运算符
<C++ Primer Plus> 12.1 动态内存和类 12.1.1 复习示例和静态类成员 不能在类声明中初始化静态成员变量,这是因为声明描述了如何分配内存,但并不分配内存 如果在头文 ...
- 多测师讲解selenium _下拉框的定位_高级讲师肖sir
from selenium import webdriver from selenium.webdriver.support.ui import Select#导入类from time import ...
- if-else和if if的对比
- xuexi0.2
1.数据结构就是研究数据如何排布和如何加工. 2.数组的目的是为了管理程序中类型相同,意义相关的变量. 3.数组的优势是比较简单,可以通过访问下标来进行随机访问.数组的限制:元素类型必须相同,数组的大 ...
- centos8平台redis5日志按天分割
一,创建日志的备份目录 [root@yjweb crontab]# mkdir /data/logs/redislogsbackup 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https:// ...
- 第十九章 Linux中常用字符的特殊含义
一.引入 在Linux Shell中有很多的特殊符号,要知道这些特殊符号的用法,这些符号用好了可以达到事半功倍的效果. 二.常用符号 # ; ;; . , / \ 'string'| ! {} ? $ ...
- 解谜:为何用了9-Patch背景图后自带Padding属性?
本次分享的主题源于笔者在实际开发中遇到的问题. 具体现象为:当普通的9-Patch图用作TextView的backGround属性后,整个TextView便有了一定的Padding值.但笔者并没有给定 ...