购物网站建设前的市场分析电子商务网站的建设的原理
▮全文概述
在编写项目时,很头大的事情就是需要自己手动的上传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

网盘里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/ 第一次加载需要等待几分钟 
 
▪从jenkins日志获取管理员密码
vim nohup.out打开日志文件读取token,:q退出vim 

 
▪安装推荐插件
   
▪创建一个用户
   
▪实例配置
 
▮添加插件

▪Maven插件
   
向下滚动 ,看到Maven安装完成就行
 
▪Gitee插件
   
▮系统配置
▪配置Maven


▪配置Gitee
   



▮新建任务


▪丢弃旧的构建 
 
▪配置源码-Git
  从仓库获取连接 

▪配置gitee的构建触发器(gitee通知jenkins执行此任务)
 
什么都不用管,只需要生成下面这个Gitee WebHook就行

▪设置gitee仓库的WebHook
   

在这个界面是可以测试钩子是否正常的,但不知为何,在gitee上测试只会报错,但你提交代码的时候又可以正常的触发钩子。所以这里我先不管,后面再去测试钩子是否正常
▪指定pom文件
 
▪执行shell命令,启动jar包
   
BUILD_ID=DONTKILLME
#获取你想运行jar包的进程号
pid=`ps -ef | grep mindmap.jar | grep -v grep | awk '{print $2}'`
#如果存在则把该进程杀掉
if [ -n "$pid" ]
thenecho "kill -9 的pid:" $pidkill -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包转移到这个目录下。这个你可以自定义
 

至此,整个任务配置完成,如果你需要打多个jar包启动,那你可以把上面这个命令行复制几份去启动就行。如果你向使用DockerFile
▮测试
▪在本地git提交代码到仓库

▪jenkins自动部署
   
点击可以进入,实时查看执行流程

第一次打包需要加载很多东西,所以需要比较长的时间

打包成功

执行指令,后台启动jar包

可以看到,需要的服务已经全部启动。这就是全自动部署
