背景
- 本次介绍的插件特别适用于小型单体项目部署,摆脱一切的繁琐部署操作,相对与CI/CD流程配置更加简单快捷。
- 我们每次打包后的项目都特别大,其中主要是依赖的jar包占用了大量的空间,而且每次部署都进行了上传,但每次做修改的只有代码。
- 所以代码和jar包分离是提升部署效率的关键。
1.idea配置
1.安装插件(我这里已经安装好了)

1.安装后重启idea,点击add host添加服务器连接
host填对应部署的服务器公网ip
端口默认22
再填入username和password后点add添加即可。

2.点击idea标签页tools/Alibaba colud/Deploy to Host进入部署脚本页面
添加刚刚添加的服务器。
下是部署脚本
改自己需要部署的端口和部署路径。
before deploy:
项目上传前的清理操作。
1 2
| rm -rf /home/*; kill -9 $(netstat -nlp | grep :8080 | awk '{print $7}' | awk -F"/" '{ print $1 }')
|
after deploy:
上传后的部署启动操作
1
| nohup java -jar /home/xxx.ar > nohup.log 2>&1 &
|
预览:



配置maven打包,跳过测试,提升效率

配置好后我们就可以点击run执行完成部署。

但是因为jar包太大部署的速度还是太慢了,下是提升部署速度的关键,采取下例配置后我的小项目一键部署只需10秒左右,十分方便上线测试,如果没有需求可以忽略。
3.依赖包分离部署(关键)
起始配置
1 2 3 4 5 6 7 8
| <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
|
将正常打包的jar包解压
将BOOT-INF/lib文件夹先上传到服务器上,之后每次部署就不需要再上传依赖jar包了
修改pom.xml,打包不带依赖的jar包,只包含项目代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!--编译不带jar包--> <configuration> <!--指定启动类--> <mainClass>xx.xx.xx</mainClass> <layout>ZIP</layout> <includes> <include> <groupId>nothing</groupId> <artifactId>nothing</artifactId> </include> </includes> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins>
<!--需要打包的文件--> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.yml</include> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.yml</include> <include>**/*.properties</include> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources>
</build>
|
打包后的项目从几百几十mb变成了几百kb。
修改after deploy:
path后指定你存放的lib绝对路径。
1
| nohup java -Dloader.path=/home/lib -jar /home/xxx.ar > nohup.log 2>&1 &
|
4.测试
均全自动部署(上传嗖的一下就过去了哦~),接下来就是tea time~
