目前我接触到的代码部署,分为自动和手动部署两种
一、自动部署:
自动部署我用到的是:Devops进行代码部署,
优点:
1、可以关联gitlab,gitlab打标签/或者直接拉取分支代码,拉取maven,清理工作空间,进行构建,操作简单,一键部署,简单易上手!
2、可以在部署环节中添加进行 ( SonarQube扫描,对代码进行检查!Xray 组件安全扫描)
3、除此之外,还有各式各类,丰富多样的工具可供使用(但自我感觉用不到。。。。)
缺点:
1:随着你增加的功能,组件越多,部署相应的也越慢
二、手动部署:
手动部署就是在服务器上手动将代码部署上去
1、部署步骤
1.1 项目打包
IDEA项目打包:在maven中选择好自己要配置的环境(master、sit、dev、local)
多选Lifecycle中的 clear ,package , install 点击maven上面的绿色运行小三角
项目会自动在你的启动类项目 target 中打包出一个Jar包
1.2 将jar包用连接工具上传到你服务Jar包对应的位置(文件夹中),删除之前的Jar包(进行备份)
1.3 查看当前服务器 服务状态与进程号
如果之前有启动的既往版本,可以用此命令去查
ps -ef |grep java
或
jsp
1.4 杀死之前的进程
kill -9 进程号
1.5 执行构建部署
nohup /app/jdk1.8.0_311/jdk_8/bin/java -server -Xms128m -Xmx512m -Dspring.cloud.nacos.discovery.register-enabled=true -XX:HeapDumpPath=/app/javadump/model_service -Dserver.port=10001 -jar /app/springboot-model-sit2/model_service-boot-1.0.0-SNAPSHOT.jar &
/app/jdk1.8.0_311/jdk_8/bin/java --> jdk8的环境
-Xms128m -Xmx512m --> 服务的启动分配的内存大小
-Dserver.port=10001 --> 服务的端口号
/app/springboot-model-sit2/model_service-boot-1.0.0-SNAPSHOT.jar:
model_service-boot-1.0.0-SNAPSHOT.jar --> 服务包名
& --> 启动需要加&
/app/springboot-model-sit2/ --> 该Jar包所在路径