参考 这篇文章
https://www.jianshu.com/p/fc4b1e945b0e
然后附上自己的实践内容
1 安装好插件 Alibaba Cloud Toolkit
2 dea菜单栏–> Tools --> Alibaba Cloud --> Alibaba Cloud View --> Host 添加自己要发布的服务器信息
image.png
3 在服务器的相应目录编写两个脚本,一个是发布项目打包之前,对已存在的jar包的备份 cp.sh.另一个是对当前服务的停止,然后再次启动的脚本 start.sh
#!/bin/cp.sh
current=`date "+%Y-%m-%d %H:%M:%S"`
timeStamp=`date -d "$current" +%s`
#将current转换为时间戳,精确到毫秒
currentTimeStamp=$((timeStamp*1000+`date "+%N"`/1000000))
echo test.jar$currentTimeStamp
# 备份的jar包名称
mv /opt/test/test.jar /opt/test/test.jar$currentTimeStamp
#!/bin/start.sh
# java环境变量配置文件
source /etc/profile
# 打包的路径以及jar包名称
nohup java -jar /opt/test/test.jar > nohup.out 2>&1 &
4 配置IDEA中插件的id与sercret
file>>setting>>Alibaba Cloud Toolkit>>Accounts>>添加 id 与sercret
image.png
5 配置打包细节
Tools >> Alibaba Cloud>>Deply to Host
image.png
image.png
点击Apply保存 其中sh /opt/test/cp.sh
/opt/test/cp.sh 为服务器上的命令所在路径 cp.sh同样如此
6 Run
信息
[INFO] user custom command:{ source /etc/profile;sh /opt/test/cp.sh }
1616485538115
[INFO] IDE Version:IntelliJ IDEA 2019.3.3
[INFO] Alibaba Cloud Toolkit Version:2021.3.1
[INFO] started transferring file test-0.0.1-SNAPSHOT.jar (66772117 bytes)
[##################################################] 100% (66772117/66772117)
[INFO] Upload Local File success
[INFO] Target Deploy Host:{ 47.93.227.23 }
[INFO] user custom command:{ source /etc/profile; cd /opt/test; sh /opt/test/start.sh }
[INFO] Finished at: 2021-03-23 15:46:21
[INFO] File Upload Total time: 43.371 s
open terminal
先执行 备份
然后打包
然后运行启动命令
===================================================
至此,大功告成了
ps: 如果当前工程为多模块工程,仅仅只需要发布其中的某一个子模块
可以添加两个mvn任务:
任务一、在父工程里执行"clean install",
任务二、在需要发布的子模块里执行"clean package"
点击上面的号,选择“Run Maven Goal”:
image.png
在弹出的界面上,可以点击文件夹小图标来选择模块,在"Command line"上填写mvn goal:
image.png
有了这两个任务就ok,一个是原本的整体打包项目,一个是要发布的子项目(module)
=================================================
除此之外,还有意外收获
image.png
点击终端命令, 可以相当于直接用xshell脚本链接到了linux 服务器,炸炸炸!!!!
image.png