什么是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.这里的密码可以直接复制这里的,也可以去这个文件路径下去找
5.登录后,会有一系列插件需要安装,安装完后进入下面的页面就算安装完毕了。另外正常来说,在第一次启动jenkins时,会生成一个.jenkins文件夹在C盘用户目录下。这样以后每次启动服务时就不需要重复注册了
Jenkins如何与git进行关联
需提前注册好一个git账号(gitee官网)
1、首先先创建一个项目
2、之后我们从首页进入刚刚创建好的项目中,并进入配置页面——git中。
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、先进入测试项目中,关注开发的项目。配置完后,等开发项目触发定时构建时,我们的测试项目也会触发构建(只有当前者稳定构建才触发)
当测试提交代码后,如何自动触发测试框架的构建
这里的思路是,当测试同学在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、完成以上操作后点击构建,然后查看工作空间是否有拉取到文件,拉取到就算成功了。
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会自动检测到并执行操作。
总结
版权归原作者 我永远喜欢Amicus 所有, 如有侵权,请联系我们删除。