【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 启动并同步节点

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



相关推荐
RisunJan2 小时前
Linux命令-ifcfg命令(临时配置网络接口的IP地址)
linux·运维·tcp/ip
安科瑞刘鸿鹏172 小时前
当宿舍开始“提前预警”,用电安全会发生什么变化?
运维·服务器·网络·数据库
忧云2 小时前
AirtestIDE 完全指南:从入门到实战,解放双手,实现通过图片定位元素自动化
运维·自动化·airtestide·图像识别自动化
我就是你毛毛哥2 小时前
Linux 系统上安装 Nginx以及使用,推荐使用编译安装
linux·运维·nginx
zly35002 小时前
CentOS系统下查看与修改网卡UUID的完整指南
linux·运维·centos
herinspace2 小时前
管家婆软件套接字服务器打不开怎么解决
运维·服务器·数据库
可爱又迷人的反派角色“yang”2 小时前
docker(五)
linux·运维·网络·docker·容器·云计算
chasemydreamidea2 小时前
L2 Intern-S1/InternVL 微调公式识别实践
运维·ssh
大布布将军2 小时前
⚡部署的通行证:Docker 容器化基础
运维·前端·学习·程序人生·docker·容器·node.js