参考文档

https://cloud.tencent.com/developer/article/1458723https://blog.csdn.net/qq_38288606/article/details/120699470

腾讯云插件

https://cloud.tencent.com/document/product/649/51454

腾讯的好像要买对应的TSF才行,不推荐

idea远程仓库java包拉不下来_持续集成

之前部署的时候,都是用maven打包package然后复制到服务器上,再跑个nohup的脚本 现在我找到了一个将Java程序一键部署到云服务器的的idea插件。


正文开始

安装插件

idea远程仓库java包拉不下来_持续解决方案_02

安装插件后有2个地方可以看到

idea远程仓库java包拉不下来_持续集成_03

idea远程仓库java包拉不下来_java_04

上图选项说明(摘抄自 https://cloud.tencent.com/developer/article/1458723)

  • Deploy to Host:部署到任意服务器。这一个功能决定了 Cloud Toolkit 强大的之处就是可以使得每个开发者受益,它其实并不是和阿里云厂商强绑定的。。
  • Deploy to ECS:这里的 ECS 指的阿里云的 ECS,如果你的服务部署在阿里云 ECS 上,可以选择使用这个功能,获得比 Deploy to Host 更加丰富的功能。在下文我也会简单测评下这个功能。
  • Deploy to EDAS & EDAS Serverless:EDAS & EDAS Serverless 是阿里云提供的分布式服务治理服务,可以理解为商业版的 Dubbo,具有强大的服务治理、服务调度能力,Cloud Toolkit 对 EDAS 做了个性化的部署支持,让使用者无需登录控制台,在 IDEA 中即可完成 EDAS 的部署。
  • Deploy to CS K8s:在云原生时代,很多应用使用容器化的方式进行部署,Cloud Toolkit 这一点做的还是不错的,已经具备了容器化部署的能力,具有一定的前瞻性。

这里,我选择 Deploy to Host

底部出现栏,进行添加远程地址

idea远程仓库java包拉不下来_持续解决方案_05

idea远程仓库java包拉不下来_工作流_06

添加后,这里有对应功能按钮

idea远程仓库java包拉不下来_持续集成_07

配置本地jar包路径

配置放到线上服务器的路径

配置放好后的启动脚本

idea远程仓库java包拉不下来_java_08

查看效果

idea远程仓库java包拉不下来_持续集成_09

确认无误后,配置一键发布

idea远程仓库java包拉不下来_idea远程仓库java包拉不下来_10

配置对应内容

idea远程仓库java包拉不下来_持续解决方案_11

配置实时日志

idea远程仓库java包拉不下来_持续集成_12

查看效果

idea远程仓库java包拉不下来_工作流_13

另附:启动脚本

#!/bin/bash
echo "************ 查找进程 **************"
pid=`ps -ef | grep "PicHub.jar" | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]; then
echo $pid Manager
kill -9 $pid
if [ "$?" -eq 0 ]; then
echo "kill success"
else
echo "kill failed"
fi
echo "************ 杀掉进程 **************"
fi
mv /data/work/java/pichub/bak/PicHub.jar /data/work/java/pichub/PicHub.jar
nohup java -jar /data/work/java/pichub/PicHub.jar  >>/data/work/java/pichub/log.out & 2>&1 &
echo "************ 启动成功 **************"
exit 0