当前位置: 首页 > 编程笔记 >

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

贡英华
2023-03-14
本文向大家介绍IDEA Spring Boot 自动化构建+部署的实现,包括了IDEA Spring Boot 自动化构建+部署的实现的使用技巧和注意事项,需要的朋友参考一下

本文所有操作都基于Alibaba cloud Toolkit进行操作。

1.插件安装

在插件市场中下载安装。

  • 在IntelliJ IDEA顶部菜单栏中选择File>Settings。

在Settings对话框的左侧导航栏中单击Plugins。

在Plugins区域单击Marketplace。

在搜索栏中输入Alibaba Cloud Toolkit。

Search Results区域会出现Alibaba Cloud Toolkit,单击Install。

等待下载、安装完成后,单击Restart IDE。

填写邀请码

邀请码:6ERULV

2.配置服务器地址

添加服务器。

在IntelliJ IDEA顶部菜单栏中选择Tools>Alibaba Cloud>Alibaba Cloud View>Host。
在弹出的Host页签中单击Add Host。

在Add Host对话框中设置Host List、Username、Password和Tag等参数,完成后单击 Add。

  

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

3.部署应用

在IntelliJ IDEA顶部菜单中选择Alibaba Cloud>Deploy to Host...。
在Deploy to Host对话框设置部署参数,然后单击Run。

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

参数

描述

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.如果出现如下图,就说明文件正在上传中

表示已经上传完毕

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

#!/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 自动化构建内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库! 

 类似资料:
  • 本文向大家介绍docker+daocloud实现前端项目自动构建部署,包括了docker+daocloud实现前端项目自动构建部署的使用技巧和注意事项,需要的朋友参考一下 项目的自动化部署在大公司或独角兽中用得比较多,相比来进行手动部署项目来说会更加高效。那么本文结合之前学习的docker知识点以及nginx来简单实现VueJs项目的自动部署,当然针对其他项目也类似。 运行环境 首先需要在服务器上

  • 主要内容:自动化部署的实现方式,maven-release-plugin 插件的使用Maven 项目的部署通常包括以下步骤: 将项目代码提交到 SVN 或 Git 等版本控制系统中,并进行标记。 从 SVN 或 Git 上下载完整的项目代码。 构建应用。 将构建输出的 WAR 或 JAR 文件存放在指定的公共网络位置中。 从指定网络中获取文件,并部署到生产环境上。 更新项目文档以及版本号。 以上这些工作通常由多个不同的团队协作完成,例如,项目研发人员负责项目代码的提交,项目管理员

  • 在项目开发中,通常部署过程包括以下步骤 - 将正在进行的所有项目的代码签入SVN(版本控制系统)或源代码存储库并对其进行标记。 从SVN下载完整的源代码。 构建应用程序。 将构建输出WAR或EAR文件存储到公共网络位置。 从网络获取文件并将文件部署到生产站点。 更新了包含应用程序的日期和更新版本号的文档。 问题声明 (Problem Statement) 上述部署过程通常涉及多个人。 一个团队可以

  • 本文向大家介绍Python基于Webhook实现github自动化部署,包括了Python基于Webhook实现github自动化部署的使用技巧和注意事项,需要的朋友参考一下 一. 分析需求 1. 需求说明 在项目开发过程中,我们有时会频繁的更新代码, 流程大概为: (1) 本地git push提交代码至git托管平台 (2) 登陆到部署有网站源码的线上服务器 (3) cd到项目根目录, 执行gi

  • 本文向大家介绍Node 自动化部署的方法,包括了Node 自动化部署的方法的使用技巧和注意事项,需要的朋友参考一下 当我们在更新迭代 Node 项目的时候,我们需要做以下几步: git push 将代码提交至代码仓库 在服务器中执行 git pull 拉取最新代码 pm2 start 运行你的代码 这样做固然没错,但是一旦项目更新迭代过快,就需要不断的重复着上面的步骤,在各种 bash 面板中来回

  • 十构建部署 待更新……