欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

IDEA Spring Boot 自动化构建+部署的实现

程序员文章站 2022-06-01 17:47:51
本文所有操作都基于alibaba cloud toolkit进行操作。1.插件安装在插件市场中下载安装。 在intellij idea顶部菜单栏中选择file>settings。在settin...

本文所有操作都基于alibaba cloud toolkit进行操作。

1.插件安装

在插件市场中下载安装。

  • 在intellij idea顶部菜单栏中选择file>settings。

在settings对话框的左侧导航栏中单击plugins。

在plugins区域单击marketplace。

在搜索栏中输入alibaba cloud toolkit。

search results区域会出现alibaba cloud toolkit,单击install。

IDEA Spring Boot 自动化构建+部署的实现

等待下载、安装完成后,单击restart ide。

填写邀请码

IDEA Spring Boot 自动化构建+部署的实现

邀请码:6erulv

2.配置服务器地址

添加服务器。

在intellij idea顶部菜单栏中选择tools>alibaba cloud>alibaba cloud view>host。
在弹出的host页签中单击add host。

IDEA Spring Boot 自动化构建+部署的实现

在add host对话框中设置host list、username、password和tag等参数,完成后单击 add。

IDEA Spring Boot 自动化构建+部署的实现  

完成参数设置后,可以单击test connection来测试是否能成功连接服务器。

3.部署应用

在intellij idea顶部菜单中选择alibaba cloud>deploy to host...。
在deploy to host对话框设置部署参数,然后单击run。

IDEA Spring Boot 自动化构建+部署的实现

部署参数说明如下表所示:

参数

描述

file

  • maven build:若当前工程采用maven构建,可以直接构建并部署。
  • upload file:若当前工程不是采用maven构建,或在本地已存在打包好的部署文件,可以选择并上传本地的部署文件。
  • gradle build:若当前工程采用gradle构建,选择此项来构建并部署。

target host
在下拉列表中选择tag,然后在该tag中选择要部署的服务器。

target directory
输入在服务器上的部署路径,如/root/tomcat/webapps。

command
输入应用启动命令,如sh /root/restart.sh。

3.如果出现如下图,就说明文件正在上传中

IDEA Spring Boot 自动化构建+部署的实现

表示已经上传完毕

IDEA Spring Boot 自动化构建+部署的实现

另外在附送一个启动|重启脚本

#!/bin/bash 
#这里可替换为jar包名字
app_name=xxx-1.0.jar
#根据实际情况修改参数
jvm="-server -xms2g -xmx2g -xmn512m -xx:permsize=128m -xx:maxnewsize=128m -xx:maxpermsize=25zh6m -xss256k -djava.awt.headless=true -xx:+cmsclassunloadingenabled -xx:+cmspermgensweepingenabled -xloggc:/logs/xxx-server/gc/xxx-gc.log"
#appfile_path="-dspring.config.location=/usr/local/config/application.properties"
#使用说明,用来提示输入参数 
usage() { 
 echo "usage: sh 执行脚本.sh [start|stop|restart|status|log|backup]" 
 exit 1 
} 
#检查程序是否在运行 
is_exist(){ 
 pid=`ps -ef|grep $app_name|grep -v grep|awk '{print $2}' ` 
 #如果不存在返回1,存在返回0 
 if [ -z "${pid}" ]; then 
  return 1 
 else 
  return 0 
 fi 
} 

#启动方法 
start(){ 
 is_exist 
 if [ $? -eq "0" ]; then 
  echo "${app_name} is already running. pid=${pid} ." 
 else 
  #nohup java $jvm -jar $appfile_path $app_name > /dev/null 2>&1 
    #后台启动jar包,且控制环境变量,根据实际情况修改吧。
  nohup java $jvm -jar $app_name --spring.profiles.active=prod > /dev/null 2>&1 & 
 fi
} 

#停止方法 
stop(){ 
 is_exist 
 if [ $? -eq "0" ]; then 
  kill -9 $pid 
 else 
  echo "${app_name} is not running" 
 fi 
} 

#输出运行状态 
status(){ 
 is_exist 
 if [ $? -eq "0" ]; then 
  echo "${app_name} is running. pid is ${pid}" 
 else 
  echo "${app_name} is not running." 
 fi 
} 
#重启 
restart(){ 
 stop 
 start 
} 

#日志
log(){
  # 输出实时日志
 tail -n 100 -f /logs/fdc-server/fdc-server.log
}

#备份
backup(){
  #根据需求自定义备份文件路径。
 backup_path=/usr/local/webapps/backup/xxx-server/
  #获取当前时间作为备份文件名
 backup_date=`date +"%y%m%d(%h:%m:%s)"`
 echo 'backup file ->'$backup_path$backup_date'.jar'
  #备份当前jar包
 cp -r /usr/local/webapps/$app_name $backup_path$backup_date'.jar'
}

#根据输入参数,选择执行对应方法,不输入则执行使用说明 
case "$1" in 
 "start") 
  start 
  ;; 
 "stop") 
  stop 
  ;; 
 "status") 
  status 
  ;; 
 "restart") 
  restart 
  ;; 
 "log") 
  log 
  ;; 
 "backup") 
  backup 
  ;; 
 *) 
usage 
;; 
esac

到此这篇关于idea spring boot 自动化构建+部署的实现的文章就介绍到这了,更多相关idea spring boot 自动化构建内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!