Jenkins+Git或Gogs的安装及使用(项目关联构建)

什么是jenkins

Jenkins是一个开源的持续集成(CI)和持续交付(CD)工具,主要用于自动化软件开发的各个阶段,包括构建、测试、部署等。

Jenkins基于Java开发,支持与多种版本控制系统(如Git、SVN)、构建工具(如Maven、Ant、Gradle)和软件配置管理工具的集成。它提供了一个友好的操作界面,允许开发者通过Web界面进行配置和管理,支持自动化构建和测试过程,能够监控外部任务的运行。Jenkins也支持持续集成和持续交付的理念,有助于提高软件开发的效率和减少人工错误。

此外,Jenkins可部署在多种平台(如Windows、Linux、Mac)上,并提供了消息通知、测试报告生成等功能。

什么是Gogs

Gogs,全称为Go Git Service,是一个基于 Go 语言开发的Git服务。它提供了一个类似于GitHub的界面和功能,允许您在自己的服务器上搭建私有的Git仓库和代码托管平台(类似gitlab)。

Gogs是一个轻量级的Git服务,其设计和性能优化使得它适合于小型团队和个人开发者。它具有Web界面,可以让您方便地管理和浏览仓库、处理问题、进行代码审查和管理团队成员。

常见面试题:测试项目什么时候会进行执行?

四种情况:手动执行、通过构建触发器定时执行、当开发代码部署成功后执行——在测试项目中关开发项目、在测试仓库发生更新时自动执行jenkins构建。

安装Jenkins

1.先去Jenkins官网下载对应版本的war包(Jenkins官网)
在这里插入图片描述


在这里插入图片描述


2.下载好后在命令行输入java -jar jenkins.war进行安装
在这里插入图片描述


3.安装好后在浏览器地址栏输入http://127.0.0.1:8080/,效果如下
在这里插入图片描述


4.这里的密码可以直接复制这里的,也可以去这个文件路径下去找 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/f631e669f41e42809ff391a6b338f0bd.png)

5.登录后,会有一系列插件需要安装,安装完后进入下面的页面就算安装完毕了。另外正常来说,在第一次启动jenkins时,会生成一个.jenkins文件夹在C盘用户目录下。这样以后每次启动服务时就不需要重复注册了
在这里插入图片描述


Jenkins如何与git进行关联

需提前注册好一个git账号(gitee官网
1、首先先创建一个项目
在这里插入图片描述

在这里插入图片描述


2、之后我们从首页进入刚刚创建好的项目中,并进入配置页面——git中。
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/c6c4b41e6fa1405c9e1767c58325e473.png


3、这里需要填写gitee仓库的地址,先拿随便一个测试框架项目举例,把地址、git用户名密码都填过来,完事了点保存。
在这里插入图片描述

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


4、完成以上操作后,jenkins就已经和gitee关联起来了。在这点击build now后,下面就会出现拉取的进度条,这样就能从远程仓库拉取项目了。
在这里插入图片描述


定时构建+运行项目

1、接下来我们要在jenkins上通过配置,来进行构建后自动执行项目的操作,先进入如下页面——》
在这里插入图片描述

在这里输入以下指令(这里是win系统用的命令,命令之间需要&&来进行连接)

python -m venv mvvenv
mvvenv\Scripts\activate && pip install -r requirements.txt && python main_run.py

四条指令作用分别是:创建对应虚拟环境、激活虚拟环境、安装第三方包、运行对应主文件。


2、之后我们点击Build Now进行构建,构建完后进入控制台页面,拉到最底下就能看到用例执行的结果了(这里字符编码可能有问题,导致中文显示成了乱码)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


定时构建

1、进入以下页面,进行配置后就可以定时进行构建了,具体指令可以百度下。
在这里插入图片描述


当开发提交代码后,如何自动触发测试框架的构建

当开发提交代码出了新版本后,通常我们需要去进行简单的冒烟测试,确保主流程无异常才不会影响到第二天的工作。所以我们可以写个冒烟用例,在出了版本后自动进行冒烟。接下来我们来看看要如何操作——》

1、先进入测试项目中,关注开发的项目。配置完后,等开发项目触发定时构建时,我们的测试项目也会触发构建(只有当前者稳定构建才触发)
在这里插入图片描述

2、


当测试提交代码后,如何自动触发测试框架的构建

这里的思路是,当测试同学在gitee上提交代码后,我们希望jenkins能自动识别到,随后拉取代码自动构建项目。但实际上是不行。因为jenkins是运行在内网,gitee却在外网,两者无法进行通信。所以我们需要用到gogs搭建轻量型仓库,才能让两者进行通信。

gogs的安装

1、首先下载gogs并解压到文件夹中(路径不能有中文)
2、文件夹路径输入“cmd”,随后在控制台输入gogs web,结果如下——》
在这里插入图片描述


3、启动服务后,通过 http://127.0.0.1:3000/install 进行访问
在这里插入图片描述


gogs——仓库创建

1、接着上面的注册页面操作,修改下数据库类型和管理员信息,其它选项用默认即可。
在这里插入图片描述

在这里插入图片描述


2、之后点击立即安装,会让你输入刚刚填写的管理员账户。
在这里插入图片描述


3、登录后来到gogs主页,在这点击新建仓库
在这里插入图片描述


4、这里的信息都填下,可以用远程仓库同名的项目名
在这里插入图片描述


5、之后来到这个页面,打开本地项目,输入对应指令就能完成仓库搭建和克隆了。(操作跟git差不多)
在这里插入图片描述


最后一步,Gogs和jenkins进行关联

1、在jenkins中我们重新创建个项目,然后在配置中设置git地址,以及账户密码
在这里插入图片描述
2、


2、完成以上操作后点击构建,然后查看工作空间是否有拉取到文件,拉取到就算成功了。
在这里插入图片描述


3、之后我们进入配置页,把前面写的指令复制粘贴一下
在这里插入图片描述


回到刚刚的问题,“测试提交代码时自动进行执行”要如何达成

当在gogs提交完代码后,需要触发远程构建,而触发远程构建就必须要有远程构建的钩子。

1、首先我们先去安装一个插件“Generic Webhook Trigger”,安装方法如下——》
在这里插入图片描述

安装完毕——》
在这里插入图片描述


2、安装完成后,在构建触发器中可以看到多了一个选项
在这里插入图片描述


3、勾选后唯一需要填的是token,要求必须是英文,内容可以随便填
在这里插入图片描述


4、之后进入gogs主页,打开仓库设置——管理web钩子——添加钩子类型为Gogs在这里插入图片描述
在这里插入图片描述


5、之后需要在这里填写地址信息,地址的格式是http://<jenkins地址>/generic-webhook-trigger/invoke?token=<gogs设置的token>
在这里插入图片描述


6、之后点击添加钩子,这时一般会出现图内的提示,“推送 URL 被解析到默认禁用的本地网络地址”
在这里插入图片描述


7、这个问题需要在gogs安装路径中的app.ini文件加个数据才能解决。路径是gogs\custom\conf\app.ini,在security下方加上 “LACAL_NETWORK_ALLOWLIST = 本地地址”,之后重启下gogs服务继续刚才的操作,就不会出现报错了!
完成以上操作后,gogs就已经和jenkins建立起连接了,在gogs的发生操作时,jenkin会自动检测到并执行操作。
在这里插入图片描述
在这里插入图片描述


总结

在这里插入图片描述

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值