持续集成jenkins+gitee

news2024/11/19 1:49:29

首先要完成gitee部署,详见自动化测试git的使用-CSDN博客

接下来讲如何从git上自动拉取代码,实现jenkins无人值守,定时执行测试,生成测试报告。

需要这三个安装包

由于目前的jenkins需要至少java11到java17的版本,所以要先下载Java17.

1、安装JAVA17

java 17 的下载网址

jdk-17_windows-x64_bin.exe

Java Downloads | Oracle

双击java的安装包进行安装。

如果以前安装过java版本,请把以前的java版本先卸载掉。

下面开始配置环境变量

到这后新建JAVA_HOME的环境变量。

win10 系统 点击计算机--右键--属性--高级系统设置--环境变量--系统变量,

win 11 系统,打开控制面板,搜索查看高级系统设置

点击高级-->环境变量

选择系统变量下的新建,新建一个JAVA_HOME的系统变量,变量值为Java的JDK所在路径

选择“系统变量”下面的”新建“选项,变量名为“CLASSPATH,变量值.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar

在环境变量中找到变量path,双击打开
添加%Java_Home%\bin;%Java_Home%\jre\bin;

然后点击确定--确定-确定。

环境变量配置完成后,点击确定选项

检查Java环境是否配置成功

按快捷键Win+R,输入cmd

输入java

输入javac

输入java -version ,可以看到版本号“17.0.11”已经安装完成了。

2、下载tomcat 和Jenkins

2.1 下载tomcat

首先下载tomcat,下载tomcat9.0版本,在左侧

Apache Tomcat® - Welcome!

下载tomcat9.0版本下的zip

把安装包解压到任意路径,路径中不能有中文,最好没有空格,apache-tomcat-9.0.89.zip

2.2 下载Jenkins

打开下载网址

Download and deploy

Jenkins的下载网址,左边是稳定的网址,右边是每周的版本。

选左边的稳定版。

下载LTS的.war文件

3、启动Jenkins

3.1 启动tomcat

把jenkins.war文件复制粘贴到tomcat安装路径webapps目录中.

C:\tomcat\apache-tomcat-9.0.62\webapps

1、打开tomcat安装路径下的bin文件夹,双击startup.bat

如果8080被占用,这时会有提示。

这时打开tomcat安装路径中的conf文件夹

用记事本打开server.xml文件,按ctrl+H,把8080全部替换成8089

如果8080端口没有被占用
    你之前没有部署过其他网站,没装过tomcat,一般不会占用

看到run Jenkins is fully up and running 就行了,也可以直接访问,2分钟后。

好了以后访问网址 http://localhost:8080/jenkins/

打开浏览器,输入网址

http://localhost:8080

能打开网页,显示tomcat版本号,说明tomcat正常启动了

http://localhost:8080/jenkins

能打开jenkins页面,就说明jenkins放到webapps目录中了

3.2 启动jenkins

http://localhost:8080/jenkins

根据jenkins页面提示,复制路径。

C:\Users\changcheng\.jenkins\secrets\initialAdminPassword

在任意文件夹中粘贴路径,用记事本打开

复制文件中的密码,粘贴到网址的输入框中,作为管理员密码

点击”安装推荐的插件“

耐心等待进度条走完

输入用户信息,创建管理员账号,注意:邮箱地址要求用126或者163邮箱的,没有的话,注册一个,点击保存并完成

点击保存并完成

点击开始使用jenkins

Jenkins安装完成

4、配置gitee

1.点击"管理jenkins"

2.点击"插件管理"

3、选择"可选插件"

4、搜索并勾选,gitee、allure、html publish、email extension ,点击安装。

5.点击”install without restart“,点击安装

6.重启tomcat

7、点击manage jenkins

8、点击config system

9、在gitee链接下面,点击”新增“

需要在插件管理里面配置一下gitee

将以前的网址复制进来,也就是gitee里面代码的网址,并添加以下链接名

10、打开gitee的私人令牌页面,获取一下token

https://gitee.com/profile/personal_access_tokens

11.创建一个新令牌

注意复制私人令牌

12.回到jenkins页面,点击”添加“--》jenkins

13.在类型中选择,gitee api令牌

14.粘贴之前复制的私人令牌,点击”添加“

选好之后就可以保存了。

16.在manage jenkins中,选择Tools

17.在页面底部,点击”新增 Allure Commandline“

18.去掉复选框自动安装

19.把allure的安装目录粘贴进来,C:\DDD\allure-2.17.3

20.输入别名”allure-2.17.3“

21.点击保存

22.回到首页

23.点击”新建item“

24.输入任务名称,autoFuncTest2

25.选择free style project,确定

新建item输入任务名称”autoFuncTest2“,一个自由风格的项目。

26.源码管理中,选择git

27.输入git项目地址

https://gitee.com/changcheng1211/autoFuncTest2.git

28.点击”添加“--》”jenkins“

29.输入gitee网址的登录邮箱,作为用户名

30.输入gitee的密码

31.点击”添加“

32.在credential下拉框中选择刚才添加的账号

33.在构建触发器中,勾选"Build periodically"

34.输入日程表

1、0 18 * * *      # 每天晚上6点自动执行

2、5个时间单位,分别代表分钟、小时、日期、月份、星期

4月17日晚上10点半自动执行 ,例:30 10 17 4 *

3、6个特殊符号

*  表示所有可能的取值

空格  用于时间单位的分割,有且只能又4个空格

-   表示区间。周一到周五每天晚上6点执行:0 18 * * 1-5

,  表示枚举

/   表示每隔多久执行一次。每隔10分钟执行一次:*/10 * * * *

H   用于分散服务器的负载
     有时我们不需要一定在整点执行,如果我们希望在区间中任意时间点执行都可以的话
     H可以帮我我们找一个最佳的时间点,分散服务器的压力。
    例
        每天晚上6点执行
            0 6 * * *
                这样一定在6点整执行,这时可能会和另一个jenkins任务冲突
            H 6 * * *
                这样会自动选择在6点到7点之间的一个比较空闲的时间执行
                可能在6:01,也可能在6:59

35.在构建中,选择增加构建步骤,选择”execute windows bach commands“

36.输入命令

要跑的命令,如果不在C盘,需要先切换盘符才能执行。

37.修改pytest.ini文件

模糊匹配  -k "login" 

38.点击”增加构建后步骤“,选择allure report

39.把allure-results改成result

因为项目中的目录是result,所以改成一致。然后点击保存。

40.保存,到了你设置的时间就会自动执行

41.也可以点击build now ,手动触发执行

42.执行完,点击#1

43.点击”控制台输出“,可以查看运行日志

44.可以点击"Allure Report",查看生成的报告。

        

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

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

相关文章

深度解析消费者最关心的车联网核心问题

随着科技的迅猛发展,车联网(V2X)或智能网联汽车成为了提供车辆非视距信息的独特解决方案。它们是传感器技术的关键补充,通过车联网(V2X),交通工具可以与其他车辆或基础设施进行信息交流。车联网…

upload-labs第十三关教程

upload-labs第十三关教程 第十三关一、源代码分析代码审计 二、绕过分析1)0x00绕过a.上传eval.pngb.使用burpsuite进行拦截修改之前:修改之后:进入hex模块: c.放包上传成功: d.使用中国蚁剑进行连接 2)%00绕…

Java 打包编译、运行报错

无法访问com.sun.beans.introspect.PropertyInfo-CSDN博客 [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] sa-base/src/main/java/net/lab1024/sa/base/module/support/datatracer/service/DataTracerChangeCon…

若依框架自定义开发使用学习笔记(1)

因为我是跳着学的,原理那些都没咋看。 代码自动生成,依赖sql表 在ruoyi数据库中,创建你想要的表,这里我创建了个购物车表,由于空间有限,只能拍到这么多。 然后就可以在前端自动生成代码 点击导入按钮 …

华为---- RIP路由协议基本配置

08、RIP 8.1 RIP路由协议基本配置 8.1.1 原理概述 RIP(Routing Information Protocol,路由协议)作为最早的距离矢量IP路由协议,也是最先得到广泛使用的一种路由协议,采用了Bellman-Ford算法,其最大的特点就是配置简单。 RIP协议要求网络中…

如何学习 Java 中的 Socket 编程,进行网络通信

Socket编程是网络编程的核心技术之一,它使得不同主机之间可以进行数据通信。Java提供了丰富的网络编程API,使得编写网络应用程序变得相对简单和直观。本文将详细讲解如何学习Java中的Socket编程,并通过示例代码展示如何实现网络通信。 一、S…

特征标注——OpenCV

特征标注 导入必要的库创建窗口显示原始图片和标注后的图片存储用户选择的图片路径字体样式和大小定义了select_image函数定义了annotate_landmarks()函数设置按钮调整图片标签的位置设置图片位置主事件循环运行显示:全部代码 导入必要的库 import tkinter as tk: 导…

细说MCU输出互补型PWM波形时设置死区时间的作用

目录 一、工程背景 二、死区时间的作用 一、工程背景 在作者的文章里建立工程时,为配置输出互补型PWM波形曾经设置了死区时间,DEAD100个定时器的时间周期(简称实例1):细说MCU输出互补型PWM波形的实现方法-CSDN博客 …

【Python教程】如何搭建一个高效的Python开发环境?结尾附安装包直通车

前言: Python 丰富的函数库和组件库是这门语言强大的核心原因!但我们不可能去记忆所有的方法名和参数名,往往只能记住一些常用的或者某个方法开头的几个字母。这个时候一个好的开发工具就需要能聪明地“猜”出你想输入的代码,并给…

数据结构基础(基于c++)

数据结构基础(基于c) 文章目录 数据结构基础(基于c)前言1. 递归、迭代、时间复杂度、空间复杂度2. 数据结构 数组与链表1. 数组2. 链表3. 动态数组4. 数组与链表对比 前言 参考资料:Hello 算法 (hello-algo.com) 1. 递…

20240619每日小程序-------朋友想开发微信小程序,那就搞一把demo

下载开发工具 hbuildX 微信开发者工具 随便搞个开源项目 会员小程序 下载后导入到hbuildX 安装依赖 npm i 安装hbuildX插件 工具—》插件安装 推荐安装: 微信小程序一键打包插件sass编译 启动 选择5.用微信开发者工具启动 报错不要怕 比如&#xff1a…

【车载开发系列】IIC总线协议时序图

【车载开发系列】IIC总线协议时序图 【车载开发系列】IIC总线协议时序图 【车载开发系列】IIC总线协议时序图一、前言二、IIC硬件软件实现1)使用I2C控制器实现2)使用GPIO通过软件模拟实现 三、I2C协议标准代码1)起始信号2)停止信号…

判断对称二叉树/判断相同的数-二叉树

都利用递归,思路相似; 对称二叉树就是两个相同的二叉树,但是子节点是right left因为对称; 101. 对称二叉树 - 力扣(LeetCode) class Solution { public:bool isSymmetric(TreeNode* root) {TreeNode* rt…

【C语言】解决C语言报错:Null Pointer Dereference

文章目录 简介什么是Null Pointer DereferenceNull Pointer Dereference的常见原因如何检测和调试Null Pointer Dereference解决Null Pointer Dereference的最佳实践详细实例解析示例1:未初始化的指针示例2:释放内存后未将指针置为NULL示例3:…

市值飙升!超微软、苹果,英伟达成为全球市值最高上市公司

KlipC报道:当地时间6月18日,英伟达股价再度大涨,盘后股价上涨3.51%,总市值达3.335万亿美元,报135.58美元再刷历史新高,超微软、苹果成为全球市值最高的上市公司。 值得一提的是,在本月初&#x…

hackbar插件安装教程

目录 HackBar 插件简介 下载 Firefox浏览器(火狐)安装 2.1.3版本 2.5.3版本 使用 chrome浏览器(谷歌)安装 方法1:开发者模式拖安装包 激活方式: 方法2:从 Chrome 应用商店 HackBar 插件…

【推荐100个unity插件之22】基于UGUI的功能强大的简单易用的Unity数据可视化图表插件——XCharts3.0插件的使用

效果 文章目录 效果前言特性截图基础介绍插件信息5分钟上手 XCharts 3.0实例创建一个默认的折线图代码修改显示的值 推荐完结 前言 unity怎么绘制图表?这是最近最常听到的问题。这次就介绍一款基于UGUI的功能强大的简单易用的Unity数据可视化图表插件——XCharts3.…

LuxTrust、契约锁联合启动中欧两地跨境电子签服务

6月18日,欧洲领先的数字身份和电子签名厂商-LuxTrust、全球领先的数字化技术和服务的提供商-浩鲸科技一行莅临契约锁上海总部,并于当日下午联合举行“跨境签战略合作”现场签约仪式。 三方将以此次合作为契机,发挥各自领域专业优势&#xff…

在同一个 Blazor 应用中结合 SQL-DB 和 MongoDB

介绍 传统上,在单应用程序中,我们对整个应用程序使用单个数据库服务器。但是,我将 SQL 数据库和 MongoDB 结合在同一个应用程序中。此应用程序将是 RDBMS 和 No SQL 数据库的组合。我们将从头开始创建一个 Blazor 应用程序,并使用…

微信小程序开发模式--第三方代开发

研发小程序功能,还是必须要学习了一下小程序开发文档的谋篇布局,这样能快速定位且解决自己业务问题。 如何布局? 1、指南微信开放文档 2、框架微信开放文档 3、组件视图容器 | 微信开放文档 4、API基础 | 微信开放文档 5、平台能力平台…