基于docker部署实现接口自动化持续集成

news2024/11/16 15:32:31

01

jenkins介绍及docker部署

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成

1、创建网络在这里插入图片描述

2、下载并运行 docker:dind镜像在这里插入图片描述

创建docker目录,下面创建一个Dockerfile在这里插入图片描述

进入docker目录,执行下述命令,根据dockerfile创建一个自己的jenkins镜像在这里插入图片描述

启动自己的jenkins镜像
在这里插入图片描述

运行后查看容器执行日志在这里插入图片描述

复制日志中的这一段,保存起来在这里插入图片描述

在浏览器访问http://ip:8080 ip要替换成你服务器的ip,需要等待大概10分钟的样子,才能进入到初始安装页面在这里插入图片描述
在这里插入图片描述

安装插件需要耐心等待,比较耗时,插件安装完后进入下述页面在这里插入图片描述
在这里插入图片描述

然后点击开始使用jenkins,重启下jenkins,命令是在这里插入图片描述

02

安装需要的其他插件

点菜单系统管理–>插件管理,依次搜索下述插件并安装

allure、Groovy、dingtalk
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装完成后,重启jenkins在这里插入图片描述

03

全局工具配置

点菜单系统管理–>全局工具配置在这里插入图片描述
在这里插入图片描述

04

邮件配置

以下以 QQ 邮箱为例,企业中需要和邮箱管理员沟通

1、先开启qq邮箱的smtp服务

开启 QQ 邮箱 SMTP 服务,打开 QQ 邮箱进入设置
在这里插入图片描述

进入帐户在这里插入图片描述

开启 SMTP 服务
在这里插入图片描述

发送验证码到指定号码在这里插入图片描述

点击确定,SMTP 服务已开启在这里插入图片描述

2、qq邮箱凭据配置

进入系统管理–>Manage Credentials在这里插入图片描述
在这里插入图片描述

3、jenkins邮箱基础配置

进入系统管理–>系统配置,做如下配置在这里插入图片描述

增加系统管理员邮件地址

邮件配置测试,注意这里只是测试

找邮件通知的区域,进行配置及测试
在这里插入图片描述

点击测试后提示成功,并且邮箱会收到一封邮件,说明邮件发送没有什么问题

配置扩展邮箱

该配置将会作为我们jenkins任务执行完成后的邮件模板

找到Extended E-mail Notification区域,做如下配置,注意点高级才能凭据选择在这里插入图片描述

05

git凭据配置

进入系统管理–>Manage Credentials,注意这里是你在码云上的用户名和密码在这里插入图片描述

06

钉钉通知基础配置

1、登录钉钉,配置钉钉机器人

参考链接:

https://developers.dingtalk.com/document/robots/custom-robot-access

2、jenkins里配置钉钉

进入系统管理–>系统配置,找到钉钉区域,做如下配置在这里插入图片描述

07

节点配置

因为我们要执行的是接口自动化,并且我们希望在jenkins slave节点上执行,而不是在jenkins所在的master上执行,因此我们需要配置节点相关的内容在这里插入图片描述

上图中master指的是jenkins所在服务器,用来统筹管理各个任务及配置

slave指的是各个自动化任务执行的机器,也叫作节点

master通过管理节点,及任务中的节点配置将不同的任务分配到不同的设备上执行

1、节点配置

打开jenkins的系统管理->全局安全管理页面,进行如下设置并保存在这里插入图片描述

打开jenkins的系统管理->节点管理页面,点击左侧的新建节点在这里插入图片描述
在这里插入图片描述

节点创建后初始是未连接状态

2、docker部署slave节点及连接

我们使用节点是用来完成接口自动化项目的执行,先创建一个目录叫dockepython,其中创建一个Dockerfile文件,内容如下在这里插入图片描述

然后在dockerpython目录下执行下述命令,来创建镜像在这里插入图片描述

镜像创建成功后,使用下述命令启动节点,

http://192.168.0.129:8080 指的是jenkins master的连接地址

229df21ef95e2528db6592b8d3557afe35aad17d0ce2c311ef5475091c8a0bb7 这是在节点管理中点击未连接的节点,可以看到这一串,复制过来
在这里插入图片描述
在这里插入图片描述

启动后查看日志,日志出现Connected,说明连接成功在这里插入图片描述
在这里插入图片描述

08

pipeline流水线任务

1.创建流水线任务

点击jenkins首页新建任务在这里插入图片描述

2、钉钉通知配置在这里插入图片描述

3、构建触发器配置

构建触发器指的就是什么时候执行该任务,通常自动化测试的任务在晚上0点执行,所以配置如下
在这里插入图片描述

点击保存

4、流水线脚本生成

jenkins pipeline脚本基础语法:

中文在线文档:https://www.jenkins.io/zh/doc/book/pipeline/

还有一个:https://www.w3cschool.cn/jenkins/jenkins-qc8a28op.html

实际上我们不用手动去编写这样的脚本,我们可以利用jenkins提供的生成功能来做

打开任务后,点击左侧的流水线语法在这里插入图片描述

生成节点脚本在这里插入图片描述

生成自动化项目拉取脚本在这里插入图片描述

生成allure报告处理脚本
在这里插入图片描述

生成邮件发送脚本
在这里插入图片描述

填入pipeline脚本,点击保存,然后执行

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/55730.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

思科路由器地址转换配置

思科路由器地址转换1.端口复用(PAT)2.配置PAT1.端口复用(PAT) 复用地址转换也称为端口地址转换(Port Address Translation,PAT),首先是一种动态地址转换。路由器将通过记录地址、应用程序端口等唯一标识一个转换。通过这种转换&am…

Linux 负载均衡介绍

Linux 负载均衡介绍 LB LB:Load Balancing,负载均衡(增加处理能力),有高可用能力,但不是高可用集群负载均衡集群,是以提高服务的并发处理能力为根本着眼点 负载均衡设备分类 1.软件负载均衡设备 (1)LVS&…

肝病患者关爱与病例管理

国内的肝病患者人数多达3亿人,并且还在逐年增多。 为慢性肝炎患者提供患者教育、病情自我管理、病友交流、医患交流等一系列的关怀行动,为医生提供病例数据管理系统平台推出了“肝病患者关爱与病例管理系统" 用户需求 平台覆盖用户群 中国肝病患者…

Thumbs.db文件取消自动生成及删除方法

一、背景 公司有一台centos服务器作为某个部门内部资料共享用,部署了samba服务。 每个用户具有自己的账户(账户不共用); 用户基本都是通过windows电脑访问samba共享文件; 最近有用户需要删除个别文件夹,发现不能删除Thumbs.db,导致文件夹也不能删除! 二、Thumbs.db是…

Java数据类型详细介绍

Java程序中要求参与的计算的数据,必须要保证数据类型的一致性,如果数据类型不一致将发生类型的转换。本文将通过示例详细说说Java中数据类型的转换,感兴趣的可以了解一下 1. Java数据类型 前面说到,程序运行时产生的临时数据我们…

继北极星项目后,又一款低成本AR眼镜开源方案:OpenAR

2018年的时候,Leap Motion(Ultraleap前身)曾开源了一款低成本、简易的AR头显方案:Project North Star(北极星项目)。该方案主要用来帮助爱好者、开发者们快速上手AR开发,而无需购买HoloLens等昂…

Python_文件操作

目录 一、文件编码 二、什么是文件 三、文件操作 1、打开文件 open()打开函数 2、读取文件 3、写入文件 f.write() 使用w模式 4、文件追加 类比文件写入,只是将‘w’-->‘a’ 5、文件操作综合案例 一、文件编码 Thinking: 计算机只能识别 0和1,那么文本文件 如何…

Delaunay三角网之逐点插入法(优化版本三)

文章目录 一、简介二、实现代码三、实现效果参考文献一、简介 继续对三角网的研究,这一个版本的三角网构网思路很是巧妙,虽然仍是基于点的插入算法,但已经有些分治算法的影子,构网速度相较于前面两个版本要快很多,12万个点可以在1s内完成构网。具体的构网过程如下所述: 1…

查询运行在顶部的app包名及类名

android的ActivityManager会在logcat中打印出当前正在显示的app的包名以及类名,注,这是由ActivityManager打印,使用的日志TAG就是ActivityManager,所以我们在过虑信息时不能以自己程序的进程进行过滤,使用ActivityMana…

GBase 8s 产品功能-高可用和ER

GBase 8s 提供了业界领先的高可用集群技术 HAC, SSC, ER, 提供秒级故障 自动切换功能, 使数据库的可用性达到 99.999%, 具备如下特点: 通过不同方案组合, GBase 8s 具有搭建两地三中心、 同城双…

行业内口碑好值得信赖的短网址,让你不再选择恐惧

转眼一年又过去了,最近发现网络上有各种各样的短网址平台,让人眼花缭乱,都声称免费并且功能强大,但是据我的了解,很多免费的短网址都是有使用上的限制的,比如生成条数、访问次数、有广告等等、还有各种各样…

项目中的奇葩需求你都怎么应对?

XX群聊:“项目中的奇葩需求怎么应对?”(项目三兄弟加入了群聊) 小赵:“无论是啥需求,我都是甲方爸爸至上,尽力满足需求、让客户满意。但每个项目初期我都跟客户处得特别好,项目中期…

音视频同步原理

音视频同步 更多精彩内容 音频系统概述 音频时延payload_delay_ms jitter_delay(neteq)。 在WebRTC中有neteq,所以,音频的卡顿以及卡顿时长都是放在neteq内部进行计算的。 时间戳 时间戳的概念主要有以下几个: ntp时间戳: NTP时间戳是绝…

SPI协议讲解与总结

1.SPI通讯协议 SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线 1.1 SPI引脚与工作过程 SPI的通信原理很简单,它以主从方式工作,这种模式通常有一…

GitHub推送代码时弹出验证框总是登录失败

最近同事准备用GitHub布置个人博客,但是提交代码时总是弹出登录框然后输入我GitHub的账号密码后一直提示报错Logon failed, use ctrlc to cancel basic credential prompt,然后我才知道还有人不知道这个问题 2021年8月13日, github不再支持用密码提交代码…

【Mysql】内外连接

文章目录**1.内连接****2.外连接****3.小结**1.内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询 select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;案例:…

IPWorks MQ C++ Edition

IPWorks MQ C Edition 在应用程序中轻松实现消息队列(MQ)通信协议。 IPWorks MQ旨在帮助您轻松实现流行的消息传递协议,以便在网络设备之间进行通信。支持许多常见的协议和服务,包括Azure Relay、AMQP、MQTT、STOMP等。 IPWorks MQ功能 完全符合MQTT版本…

普通物理光学:光栅

透射光栅 光栅常数 a:不透光部分的宽度b:透光部分的宽度dab:光栅常数N:缝数k:光谱的级数衍射图像:单缝衍射多缝干涉 光栅的每条狭缝,都将在接收屏幕上的同一位置,产生同样的单缝夫琅禾费衍射图样各条狭缝的衍射光再在接收屏幕上相…

【Vue脚手架项目的结构】

目录 1. 关于VUE Cli 2. 修改VUE Cli项目的端口号 3. Vue脚手架项目的结构 4. 关于标签 5. 关于路由配置 6. 关于视图组件 7. 应用Element UI 1. 关于VUE Cli VUE Cli:Vue脚手架 在Vue脚手架项目中,使用的是“单页面”的设计模式,也就…

CentOS Linux 的安装

CentOS Linux 的安装 作者:Grey 原文地址: 博客园:CentOS Linux 的安装 CSDN:CentOS Linux 的安装 说明 本安装说明是基于 Windows 10 下 VMware workstation 16 安装 Linux,Linux 版本是 CentOS 8,需…