【jenkins持续集成测试】

文章目录

1.目的
在日常的项目测试过程中,搭建与维护测试环境是广大测试同学的一个基础技能,相信也很少会有公司完全不让测试去碰自己的测试环境。那么工作中大量的创建、部署、管理、维护等一系列的重复操作就成为了整个测试项目中一个巨大的工作量。

面对这样一种普遍的情况,Jenkins作为持续集成的良好解决方案就可以很好的解决以上的这些问题。对于一些重复的搭建部署操作都可以通过Jenkins来进行自动化完成,无需任何人工干预,有利于减少重复过程以节省时间、费用和工作量,让测试同学腾出更多的时间与精力来关注并着眼于其他的重要测试环节。

2.说明

1.此笔记的中所使用的操作系统为CentOS7.9,笔记中所涉及的软件版本有可能会因为时间的推移而导致不匹配或其他额外的操作,请大家有针对性的选择阅读与参考。

2.此笔记中的所有操作均基于root用户进行,其他用户如无权限请自行搜索(linux的基础操作这里不展开讨论),友情提示:即使有权限,也千万别在公司相关生产环境内试验探索哦。

3.本次实战中使用的是我们公司相关的业务项目,其中的代码与产品界面会做相关的脱敏操作。

3.项目描述&事前准备

1.文中产品项目为微服务架构,其他无关服务都已被简化省略,仅展示部分模块。

2.原有服务已简化,将服务器独立分为Jenkins服务器与业务服务器,不展示多余集群与节点,只需准备两台服务器即可(真机、虚拟机随意)

3.本文的主题是介绍Jenkins在持续集成中的使用方式,开发环境与所用到的软件版本可以任意指定,功能没有太大的区别,也不会影响使用。(文中使用的软件可以任意替换,任何的技术栈都可以,Jenkins除外)

4.环境介绍

服务器分为两台,Jenkins应用服务器与业务服务器,以下简称J-Server与S-Server。本文使用CentOS,J-Server中安装Jenkins即可,S-Server安装Java、Tomcat、Maven、Git即可。(这里的技术栈可以根据各自公司的业务与产品来进行随意调整,我们的项目内也有很多组合,只选取市面上最常见的来讲解)

5.服务基础配置

5.1 J-Server

服务器内的Jenkins安装与配置请参看之前的文章:

5.2 S-Server

业务服务器内的软件安装请自行网络搜索,网上有很多优秀的教程供大家参考。这里需要介绍的是一些重要的配置操作。

1.这里为了方便Git与Server之间进行安全的项目源代码的安全传输操作,我们需要在服务器中进行设置。

在Git安装完之后使用以下命令进行Git的全局配置


使用ssh-keygen命令进行密钥的生成

这里会询问你要创建的密钥的文件名,默认名字的话就直接回车

接下来询问是否要为密钥设定密码,默认回车跳过

完成之后在用户的主目录中会有一个影藏文件夹.ssh

进入后查看刚才的密钥是否生成正确

后缀名.pbu的是公钥

然后我们进入这个公钥文件,将文件里的内容复制出来

2.在GitHub中点击设置,选择SSH and GPG keys

创建一个新的SSH key

Title输入你自定义的名字即可

Key输入刚才在公钥中复制的那一串字符

确定添加

确认添加成功后Git与SSH密钥配置完成

  1. Jenkins自动化任务配置与部署

6.1 节点创建

在Jenkins工作台中选择系统管理 > 节点管理


节点名称输入你指定的名称即可

如果是全新节点的话可选择固定节点

点击创建

远程工作目录指的是S-Server上将执行自动化任务的路径位置

启动方式选择Launch agents via SSH

主机填入对应的S-Server的IP

凭证填入对应的S-Server登录用户名和密码(新建凭证看下面的操作)

主机密钥验证策略可以选择Non verifying Verification Strategy

没有凭证的话点击添加,选择Jenkins

其他选项不动,输入用户名和密码保存即可,之后在Credentials

下拉框里直接选择即可

6.2 启动并同步节点

添加完成后点击对应的节点名称,进入节点



相关推荐
时间售卖铺11 小时前
Oracle DQL精髓:从基础到高级实战
运维·数据库·云原生·oracle
分布式存储与RustFS11 小时前
CI 老被 Docker Hub 的 429 卡住,自建 Registry 把镜像搬进内网
运维·docker·开源·镜像仓库·对象存储·ci·rustfs
Ruiery11 小时前
Linux 6.6内核内存管理深度解析(十七):vmalloc — 内核要“虚拟连续“就够:物理页逐个凑,页表来连
linux·运维·服务器
pt104311 小时前
Cisco设备网络安全系列-19:网络安全事件驱动与调整
运维·网络
sxgzzn12 小时前
如何利用无人机提升光伏巡检效率?
运维·重构·无人机·开关柜局放在线监测·光伏运维管理系统
R²AIN SUITE12 小时前
企业智能体平台私有化部署需要什么服务器?CPU、内存、显卡与项目管理集成的7个评估项
运维·服务器
刚入门的大一新生12 小时前
Linux-线程封装
linux·运维·服务器
n1121212 小时前
Docker 容器时区错 8 小时:3 个坑
运维·docker·容器·故障排查·服务器运维·容器时区
Android系统攻城狮12 小时前
Linux FFmpeg深度解析之av_dump_format调用流程与实战(十一)
linux·运维·服务器·ffmpeg·1024程序员节·音视频进阶
Android系统攻城狮12 小时前
Linux FFmpeg深度解析之avcodec_find_decoder调用流程与实战(十二)
linux·运维·服务器·ffmpeg·1024程序员节·音视频进阶