小秦哥 发表于 2024-6-19 20:48:26

都2024年了,还不消Jenkins主动化摆设?

背景

前段时间与室友在交换中聊到了互联网每个岗位的职责,然后就聊到了测试岗位!
一个同学不禁发问:”如果我们开发接到了特别庞大的项目,开发周期特别久,难道测试团队就不停干等着我们开发结束再进行测试吗?那如许的话做测试不是很爽吗!“
我不禁感慨:“难道一个测试团队对接的是多个开发团队?”
带着这个疑问,我询问了一个老大哥,他跟我说:“菜鸟,主动化摆设了解一下?”
于是就有了今天这篇文章,同时我也查阅了资料,看了相关视频。顺便将我的半制品毕业计划进行了主动化摆设,不得不说,真香!每天写完代码只需要在当地发起一个git提交,剩下的打包构建,代码摆设,全部由今天的主人公Jenkins主动化完成(我的后端接口是写好了的,已经用传统摆设的方式进行了摆设,以是我主要是将我的前端项目进行了主动化摆设)【文末分享enkins主动化配套资源】
传统开发模式


[*] code --> build --> test --> release --> opearte
显而易见的毛病,项目只有比及开发职员开发完成之后,才能进行测试和摆设。各岗位之间无法同步工作,很不和谐!而且一旦线上出现bug,也只能等待问题,然后又是如许的一套流程走,效率极低!
主动化摆设

实在,最简单的来形容主动化摆设:但我在当地开发之后,只需要把代码进行推送到远程仓库(好比:github),服务器会主动进行构建打包,主动完成摆设!
摆设需求



[*]开发完成 或者 开发中的前端项目
[*]购买阿里云服务器,我在双十一的时候就白嫖了一个!
搭建服务器情况

jenkins的安装

远程毗连

[*] ssh root@ 后边再加上你的服务器ip地址
[*] 比方我自己的服务器:ssh root@120.25.203.54
[*] 然后输入密码 就乐成毗连上了
[*] 复制代码
安装dnf
centOS8默认是装了dnf的,可以敲命令检察

[*] dnf
[*] 复制代码
https://img-blog.csdnimg.cn/img_convert/9bc493af77ee1cb3461d094af6957451.webp?x-oss-process=image/format,png
centOS7用的是yum,我们可以用yum来安装dnf

[*] yum install dnf
安装Java情况
Jenkins自己是依靠Java的,以是我们需要先安装Java情况

[*] dnf search java-1.8  #可以先搜索
[*] dnf install java-1.8.0-openjdk.x86_64
安装Jenkins
因为Jenkins自己是没有在dnf的软件仓库包中的,以是我们需要毗连Jenkins仓库:
实行命令:

[*] wget –O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
下载之后我们通过 ls命令进行检察,安装乐成

[*] jenkins.repo
但是有大概下载之后并没有安装在我们指定的文件夹:/etc/yum.repos.d/jenkins.repo
我们通过pwd命令检察,我自己的情况是没有安装在指定文件夹,而是安装在/root中
以是我需要移动该文件

[*] mv jenkins.repo /etc/yum.repos.d/
[*] ​
[*] #我们可以进入对应的文件夹检察
[*] cd /etc/yum.repos.d/
[*] #然后实行命令检察是否有 jenkins.repo
[*] ls
https://img-blog.csdnimg.cn/img_convert/1c4d3cf774528f7a48a67b130da73901.webp?x-oss-process=image/format,png
接下来的操纵:导入GPG密钥以确保您的软件合法

[*] rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
编辑一下文件 /etc/yum.repos.d/jenkins.repo

[*] vi jenkins.repo
进入该文件,点击i进入编辑模式




name=Jenkins-stable



baseurl=http://pkg.jenkins.io/redhat (把这里多出来的单词-stable删掉)



gpgcheck=1 修改之后点击esc,然后按住shift再按下:,输入wq,保存并退出
末了进行Jenkins的安装

[*] dnf install jenkins
启动Jenkins的服务:

[*] systemctl start jenkins    #启动
[*] systemctl status jenkins   #检察状态
[*] systemctl enable jenkins   #设置操纵系统重启,jenkins也会主动重启
Jenkins默认利用8080端口提供服务,以是在服务器安全组中开启8080端口
直接访问 ip地址+8080端口,
根据提示在命令行中检察密码,进行登录

[*] cat /var/lib/jenkins/secrets/initialAdminPassword
登录乐成之后,根据提示安装推荐的插件
安装乐成之后,根据提示创建管理员用户
https://img-blog.csdnimg.cn/img_convert/7a37a09aa4afe4093e4c10969b25324b.webp?x-oss-process=image/format,png
到此,我们的Jenkins就安装乐成了,也创建了我们自己的管理员账户,接下来我们进行nginx反向代理服务器的安装与设置。
nginx安装和设置

安装nginx

[*] dnf install nginx
启动nginx

[*] systemctl start nginx
[*] systemctl status nginx
[*] systemctl enable nginx
这个时候启动乐成了,在浏览器访问你的ip地址就可以看到对应的nginx界面(默认端口是80)
实际上此时访问的界面对应的文件为:/user/share/nginx/html/index.html
我们可以把我们想要摆设的项目放在 /root下 新建的文件夹

cd /root/             #进入root文件夹

mkdir mail_project #新建文件夹 mail_project

cd mail_project #进入mail_project文件夹

touch index.html #新建文件 index.html

vi index.html #进入编辑模式,可任意编辑 接下来我们盼望我们在浏览器访问到的是我们刚刚新建的这个index.html
此时我们需要的是修改nginx的默认设置
设置nginx
输入命令,编辑文件

[*] vi /etc/nginx/nginx.conf
此时进入nginx的设置文件,我们要进行修改,但是在linux的情况下编辑文本大概不是太方便,很轻易修改错,以是这里推荐的方法为:将vscode与远程服务器进行毗连
vscode的设置
安装插件: Remote-SSH
https://img-blog.csdnimg.cn/img_convert/57bd8132bb4ba326a706a42816b4fd5d.webp?x-oss-process=image/format,png
然后进行毗连
https://img-blog.csdnimg.cn/img_convert/b0ff27c08d1ecd9b04a134322b61b509.webp?x-oss-process=image/format,png
毗连乐成之后,进入文件里边点击打开文件夹,此时打开的文件即为服务器的文件,可以做任何的修改
此时我们可以修改 /root/mail_project/index.html
然后再修改nginx的设置:/etc/nginx/nginx.conf
我们这里主要设置nginx的用户和默认访问目次:
设置用户:
https://img-blog.csdnimg.cn/img_convert/2c26b37ff87100113441338a6dfe8e02.webp?x-oss-process=image/format,png
设置访问目次:
https://img-blog.csdnimg.cn/img_convert/09bc464f2dca46fe49dc52d508803fb1.webp?x-oss-process=image/format,png
设置完成之后重新启动nginx

[*] systemctl restart nginx
然后在浏览器重新访问,此时就可以看到我们刚刚写的html文件所渲染的页面了!
事已至此,我们只要把我们的项目进行打包,然后放在刚刚的mall_project里边即可完成摆设!
这是传统的摆设的方式,我们这次要做的实现主动化摆设,以是接下来我们要在刚刚安装的Jenkins进行我们项目的设置!
jenkins的设置

当地项目推送
首先我们要把我们的项目推送到github上面


[*] 新建一个仓库,进行命名
[*] 在当地项目目次打开git bash,

[*]git init
[*]git remote add 远程地址
[*]git add .
[*]git commit -m '摆设项目'
[*]git push -u origin master

Jenkins用户
我们后面会访问centos中的某些文件夹,默认Jenkins利用的用户是 jenkins,大概会没有访问权限,以是我们需要修改一下它的用户:
修改文件的路径:/etc/sysconfig/jenkins
https://img-blog.csdnimg.cn/img_convert/6f2db3d215c54d720583691d04aca02b.webp?x-oss-process=image/format,png
之后需要重启一下Jenkins:

[*] systemctl restart jenkins
Jenkins项目设置
在浏览器登陆我们的Jenkins的可视化界面,输入ip地址:8080
点击:新建Item
https://img-blog.csdnimg.cn/img_convert/06fbcff33fbdde21c0530a1be487d483.webp?x-oss-process=image/format,png
然后编写项目的描述
https://img-blog.csdnimg.cn/img_convert/7b8c80302c8720c2d6338203abc87301.webp?x-oss-process=image/format,png
源码管理我们选择的是 Git
我们的服务器上边是没有git的,以是我们需要安装

[*] dnf install git
安装乐成之后,进行我们的源码管理编写
我们需要进行添加,选择Jenkins
https://img-blog.csdnimg.cn/img_convert/9c78590fb7c808853ca816264b79c0fd.webp?x-oss-process=image/format,png
用户名填写你的github账号,密码的话需要填写的是token,可以在github上边进行天生,这里就不睁开了...
填写添加之后,就可以选择你的账号了!
指定分支就按照你的代码仓库的分支进行填写: **/master 或者 /main
https://img-blog.csdnimg.cn/img_convert/f66553f868fd2a6c7eee3a5a42386bc1.webp?x-oss-process=image/format,png
构建触发器
这里的触发器规则是如许的:


[*]定时字符串从左往右分别是:分 时 日 月 周

#每半小时构建一次OR每半小时检查一次远程代码分支,有更新则构建

H/30 * * * *



#每两小时构建一次OR每两小时检查一次远程代码分支,有更新则构建

H H/2 * * *



#每天凌晨两点定时构建

H 2 * * *



#每月15号执行构建

H H 15 * *



#工作日,上午9点整执行

H 9 * * 1-5



#每周1,3,5,从8:30开始,截止19:30,每4小时30分构建一次

H/30 8-20/4 * * 1,3,5
https://img-blog.csdnimg.cn/img_convert/a76af97122c0bbd97c0e82cf0effff3d.webp?x-oss-process=image/format,png
构建情况
此时的构建情况选项中并没有node.js情况
我们需要去外部进行安装,先保存
点击Jenkins图标,回到主页面,点击系统管理,再点击插件管理(大概为英文)
https://img-blog.csdnimg.cn/img_convert/dccea8f17ddee976e05bc2294aee5241.webp?x-oss-process=image/format,png
点击可选插件,搜索node,在NodeJS打钩,然后点击Download now and install after restart
https://img-blog.csdnimg.cn/img_convert/37a163d06cd4c8250c80eb6d4ece0e86.webp?x-oss-process=image/format,png
等待安装之后,重启Jenkins
点击系统管理,点击全局工具设置
拉到最下边,新增NodeJS,选择之后点击保存
https://img-blog.csdnimg.cn/img_convert/6f12be5905d6f130565c6695d16284e4.webp?x-oss-process=image/format,png
回到首页之后,点击我们刚刚新建的项目,然后点击设置
https://img-blog.csdnimg.cn/img_convert/72ca69ab919e16e4b45ce1f713dc34af.webp?x-oss-process=image/format,png
构建就是为了实行我们编写的shell脚本

pwd

node -v

npm -v



npm install

npm run build



pwd



echo '构建成功'



ls



# 删除/root/mall_cms文件夹里所有的内容

rm -rf /root/mall_project/*



cp -rf ./dist/* /root/mall_project/
https://img-blog.csdnimg.cn/img_convert/06d821cfc5e8eb4cae232b36cef5fcac.webp?x-oss-process=image/format,png
回到刚刚的项目页面,点击 立即构建
开始构建之后,我们可以检察控制台输出
https://img-blog.csdnimg.cn/img_convert/61af2c91c9b47ca1b4782c7a16077007.webp?x-oss-process=image/format,png
https://img-blog.csdnimg.cn/img_convert/f584d7d821adf3cba184ec9a63a30b3f.webp?x-oss-process=image/format,png
构建乐成刷新我们的项目页面 ip地址/8080,乐成摆设!
末了

通过这一套流程下来,我们的项目也就乐成实现了主动化摆设,固然,我也完成了我还在开发中的毕业计划的主动化摆设,而且每隔半小时,Jenkins就会去拉一次代码,然后进行打包摆设。
我们就可以愉快地在我们的当地进行开发啦,开发到一定程度就把代码push到我们的github仓库即可!顺遂摆脱了传统的需要开发完手动摆设的方式!!!
行动吧,在路上总比不停观望的要好,未来的你肯定会感 谢如今拼搏的自己!如果想学习提拔找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技能可以一起交换学习哦。
末了感谢每一个认真阅读我文章的人,投桃报李总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
https://img-blog.csdnimg.cn/direct/ebf3c777a92d46d59e897da804a01cd3.png​

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的旅程,盼望也能帮助到你!
https://img-blog.csdnimg.cn/direct/9e342df5f96e460b8fa85601bbec3a96.jpeg

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 都2024年了,还不消Jenkins主动化摆设?