idea项目一键部署增强版(经验篇)

背景

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

1.idea配置

1.安装插件(我这里已经安装好了)
在这里插入图片描述

2.toolkit配置

1.安装后重启idea,点击add host添加服务器连接
host填对应部署的服务器公网ip
端口默认22
再填入username和password后点add添加即可。
在这里插入图片描述
2.点击idea标签页tools/Alibaba colud/Deploy to Host进入部署脚本页面
添加刚刚添加的服务器。

下是部署脚本
改自己需要部署的端口和部署路径。

before deploy:
项目上传前的清理操作。

rm -rf /home/*; 
kill -9 $(netstat -nlp | grep :8080 | awk '{print $7}' | awk -F"/" '{ print $1 }')

after deploy:
上传后的部署启动操作

nohup java -jar /home/xxx.ar > nohup.log 2>&1 &

预览:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
配置maven打包,跳过测试,提升效率
在这里插入图片描述

配置好后我们就可以点击run执行完成部署。
在这里插入图片描述
但是因为jar包太大部署的速度还是太慢了,下是提升部署速度的关键,采取下例配置后我的小项目一键部署只需10秒左右,十分方便上线测试,如果没有需求可以忽略。

3.依赖包分离部署(关键)

起始配置

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

将正常打包的jar包解压

jar -xvf xxx.jar

将BOOT-INF/lib文件夹先上传到服务器上,之后每次部署就不需要再上传依赖jar包了

修改pom.xml,打包不带依赖的jar包,只包含项目代码。

 <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绝对路径。

nohup java -Dloader.path=/home/lib -jar /home/xxx.ar > nohup.log 2>&1 & 

4.测试

均全自动部署(上传嗖的一下就过去了哦~),接下来就是tea time~
在这里插入图片描述

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值