瑞星 发表于 2024-9-30 04:34:35

在云服务器上主动化摆设项目,jenkins和gitee

▮全文概述

      在编写项目时,很头大的事故就是需要自己手动的上传jar包到服务器上启动。如果出现一点bug,就要重头上传和启动。这是一件很烦的事故,所以,可以利用jenkins和gitee实现项目的主动摆设
▮全流程


[*]  在当地提交代码到gitee 
[*]  gitee发送哀求关照jenkins
[*]  jenkins接到关照后主动实行任务
[*]  构建maven项目,打jar包
[*]  构建后实行启动jar包的脚本
   最终,我在当地提交代码,服务器也可以跟着改变,不再需要我手动的去上传jar包到服务器启动。全操作很简洁,不利用Docker,也不需要设置
▮建立gitee仓库



[*]利用github,gitlab都可以
[*]利用gitee比较方便,也不需要我去搭建gitlab
▮下载jenkins

▪上传jenkins的war包到服务器

   通过百度网盘分享的文件:jenkins.war
链接:https://pan.baidu.com/s/1RjwJ0Yy7tnyd9WjzukaSvw?pwd=hldy
提取码:hldy 
▪上传Maven包到服务器

   通过百度网盘分享的文件:apache-maven-3.6.3.zip
链接:https://pan.baidu.com/s/1fMHnDfXxJ5I9bF88u3h6dw?pwd=hldy 
提取码:hldy 
https://i-blog.csdnimg.cn/direct/1304fe80ce704b21b446204585b51974.png
   网盘里Maven的仓库源是阿里云的。如果你的Maven是从别的渠道下载,记得修改“settings.xml” 文件里的仓库源
▪服务器下载git

yum install git ▪服务器下载Java

yum install java-11-openjdk-devel ▮启动jenkins

▪启动命令(端口自界说,安全组记得开放)

nohup java -jar jenkins.war --httpPort=58082 & ▪访问Web界面

http://服务器IP:58082/ 第一次加载需要等待几分钟  https://i-blog.csdnimg.cn/direct/f57b5ddd764741be9c50222d14dc3f4d.png
▪从jenkins日志获取管理员密码

  
vim nohup.out打开日志文件读取token,:q退出vim https://i-blog.csdnimg.cn/direct/f8daf1b588ae4d5ba16c2d75417ced7c.png
 https://i-blog.csdnimg.cn/direct/3ee34b996346487e988f14f0a20501a3.png
▪安装推荐插件

   https://i-blog.csdnimg.cn/direct/b7d633a783f6466da4f9add2fdc056b9.png
▪创建一个用户

   https://i-blog.csdnimg.cn/direct/eee88587f0e2443bba115ca92dc2faa0.png
▪实例设置

 https://i-blog.csdnimg.cn/direct/6e2a8922781848c48f7cb74265234106.png
▮添加插件

https://i-blog.csdnimg.cn/direct/b37ef23446f94ce3940aca1227bd93ba.png
▪Maven插件

   https://i-blog.csdnimg.cn/direct/09b4d7adf90b4284a20a8f93037653b7.png
   向下滚动 ,看到Maven安装完结果行
 https://i-blog.csdnimg.cn/direct/fe86f7574a4642db82ebe039fc5e3e5b.png
▪Gitee插件

   https://i-blog.csdnimg.cn/direct/526ee694d0a7464d9b65922a58f65c7a.png
▮系统设置

▪设置Maven

https://i-blog.csdnimg.cn/direct/9a63b297da51428fac1e34a7837dedc7.png
https://i-blog.csdnimg.cn/direct/dc5afc071107460c9a5714d110834f8b.png
▪设置Gitee

   https://i-blog.csdnimg.cn/direct/d6f3cd5e76c541b987b8ccd78e5c0a46.png
https://i-blog.csdnimg.cn/direct/f39dd5d188704452b401668c906d66d6.png
https://i-blog.csdnimg.cn/direct/545719a848e04ed592b49af7103d67e8.png
https://i-blog.csdnimg.cn/direct/dfb402b9181a494d8bfa2f55520ba340.png
▮新建任务

https://i-blog.csdnimg.cn/direct/597acca49e844d99b3828ecb82585022.png
https://i-blog.csdnimg.cn/direct/b7c9483e5716482b902ef90c309f39c2.png
▪丢弃旧的构建 https://i-blog.csdnimg.cn/direct/97e0ad1a75a3433494edc52eb1b7bebd.png

▪设置源码-Git

  从仓库获取毗连 https://i-blog.csdnimg.cn/direct/9de2ae8f3ac54c3f9f055013d6c84cfb.png
https://i-blog.csdnimg.cn/direct/95a26dd4673a439f85f9d867141634e9.png
▪设置gitee的构建触发器(gitee关照jenkins实行此任务)

 https://i-blog.csdnimg.cn/direct/349d4ef3cef64fb6b4a49be9cc7d3d6d.png
    什么都不消管,只需要天生下面这个Gitee WebHook就行
https://i-blog.csdnimg.cn/direct/2bd28c26a2ff48f382fd9e14ad9dbcab.png
▪设置gitee仓库的WebHook

   https://i-blog.csdnimg.cn/direct/d9868f2c5add4384a0ba76d6d1b9d7b8.png
https://i-blog.csdnimg.cn/direct/994c99c4fa56497095b23a0cc0e9b13e.png
    在这个界面是可以测试钩子是否正常的,但不知为何,在gitee上测试只会报错,但你提交代码的时候又可以正常的触发钩子。所以这里我先不管,后面再去测试钩子是否正常
▪指定pom文件https://i-blog.csdnimg.cn/direct/c19003423c0343e4a43a01e4a2b1c370.png

▪实行shell命令,启动jar包

   https://i-blog.csdnimg.cn/direct/d95b4a6f37b94082b3e2604f3c35a2a5.png
BUILD_ID=DONTKILLME
#获取你想运行jar包的进程号
pid=`ps -ef | grep mindmap.jar | grep -v grep | awk '{print $2}'`
#如果存在则把该进程杀掉
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi
echo "复制jar包"
#把jenkins打的jar包复制到自己指定的目录下
cp/root/.jenkins/workspace/mindMap/5.mindmap-service/target/mindmap.jar /root/cloud
echo "启动jar包"
#最后启动jar包并把日志输出到指定的文件中以便查看
nohup java -jar /root/cloud/mindmap.jar &
    在文本框里输入要实行的命令
"mindmap.jar",是jar包名,这个记得换成你自己的包名
    "cp  /root/.jenkins/workspace/mindMap/5.mindmap-service/target/mindmap.jar /root/cloud"

[*]"/root/.jenkins/workspace"是jenkins的工作目录,在控制台是看不到的,但是你可以通过cd指令进入。
[*]"/root/cloud"是我自界说的一个目录,这个指令就是把打出的jar包转移到这个目录下。这个你可以自界说
https://i-blog.csdnimg.cn/direct/6926a80067f74b2e846e59fdcf11bc8c.png
   至此,整个任务设置完成,如果你需要打多个jar包启动,那你可以把上面这个命令行复制几份去启动就行。如果你向利用DockerFile
▮测试

▪在当地git提交代码到仓库

https://i-blog.csdnimg.cn/direct/cf4f136cf3e14271a3a54431bf426fdf.png
▪jenkins主动摆设

   https://i-blog.csdnimg.cn/direct/835ab6e42cf24fc98d0fa4edb9915c92.png
   点击可以进入,及时检察实行流程
https://i-blog.csdnimg.cn/direct/46d17e1be0f04d7dadad3c5784aca86f.png
   第一次打包需要加载很多东西,所以需要比较长的时间
https://i-blog.csdnimg.cn/direct/ac757efe1a3e4a69b7dfc54b70250467.png
   打包乐成 
https://i-blog.csdnimg.cn/direct/0bfe3331f9a64e8587de369f5660bef9.png
   实行指令,背景启动jar包
https://i-blog.csdnimg.cn/direct/c52ec3f4ef88477398452dfb3c0989ea.png
   可以看到,需要的服务已经全部启动。这就是全主动摆设

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