Idea_服务器自动化部署_傻瓜式教程

使用Alibaba Cloud Toolkit 在 IntelliJ IDEA 中一键部署项目到服务器

1. 安装 Alibaba Cloud Toolkit 插件

  • 确保 IntelliJ IDEA 版本为 2018.3 或以上。
  • 打开 IntelliJ IDEA,进入 File -> Settings -> Plugins,搜索并安装 Alibaba Cloud Toolkit 插件。

在这里插入图片描述

2. 配置服务器信息

  • 打开 Alibaba Cloud Toolkit,点击 Host 标签页,添加服务器信息:
    • 主机 IP、用户名、密码。

在这里插入图片描述

3. 部署项目

  • 右键点击项目,选择 Deploy to Host...,配置部署信息:
    • 选择 Maven BuildUpload File
    • 指定 Target Deploy HostDeploy Location
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

4. 执行部署

  • 点击 Run 执行部署,可以在 IDEA 的控制台中查看部署进度和日志。

在这里插入图片描述

5. 监控与日志

  • 使用 tail -f nohup.out 命令可以在 IDEA 内置终端中实时查看应用日志。

在这里插入图片描述

注意事项

  • 确保服务器已安装 Java 环境和所需的依赖。
  • 根据项目需求调整启动命令和部署路径。
  • 初次部署可能需要手动创建部署目录和配置文件。

通过 Alibaba Cloud Toolkit,您可以简化从本地开发环境到服务器部署的流程,实现一键部署,提高开发效率。

执行脚本

before.sh

#!/bin/bash# 定义JAR文件的名称和位置
JAR_NAME="springboot-0.0.1-SNAPSHOT.jar"
JAR_PATH="./$JAR_NAME"# 通过pgrep + grep找到java进程id
echo "查找Spring Boot应用的进程ID..."
PID=$(pgrep -f "$JAR_NAME")# 检查是否找到进程ID
if [ -z "$PID" ]; thenecho "没有找到运行中的Spring Boot应用。"
else# 停止Spring Boot应用echo "停止Spring Boot应用 (PID: $PID)..."kill -9 $PID
fi# 等待进程终止
sleep 2# 删除旧的JAR文件
echo "删除旧的JAR文件: $JAR_NAME"
rm -f "$JAR_PATH"# 检查JAR文件是否已删除
if [ -f "$JAR_PATH" ]; thenecho "无法删除JAR文件: $JAR_NAME"exit 1
fiset ff=unix

after.sh

# 文件的路径
JAR_PATH="./springboot-0.0.1-SNAPSHOT.jar"# 检查JAR文件是否存在
if [ ! -f "$JAR_PATH" ]; thenecho "错误:JAR文件不存在 $JAR_PATH"exit 1
fi# 停止正在运行的Spring Boot应用(如果正在运行)
echo "停止可能正在运行的Spring Boot应用..."
COUNT=$(ps -ef | grep "$JAR_PATH" | grep -v grep | wc -l)
if [ "$COUNT" -gt 0 ]; thenecho "Spring Boot应用正在运行,正在停止..."kill -9 $(ps -ef | grep "$JAR_PATH" | grep -v grep | awk '{print $2}')echo "已停止."
fi# 等待几秒钟确保应用已经停止
sleep 2# 启动Spring Boot应用
echo "启动Spring Boot应用..."
nohup java -jar "$JAR_PATH" > nohup.out 2>&1 &echo "Spring Boot应用已启动."
tail -f nohup.out
:set ff=unix

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/415707.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python基础】字典类型

本文收录于 《Python编程入门》专栏,从零基础开始,分享一些Python编程基础知识,欢迎关注,谢谢! 文章目录 一、前言二、Python 字典类型2.1 访问字典里的值2.2 修改字典2.3 删除字典元素2.4 字典键值的特性2.5 遍历字典…

Vision Transformer (ViT) + 代码【详解】

文章目录 1、Vision Transformer (ViT) 介绍2、patch embedding3、代码3.1 class embedding Positional Embedding3.2 Transformer Encoder3.3 classifier3.4 ViT总代码 1、Vision Transformer (ViT) 介绍 VIT论文的摘要如下,谷歌翻译如下: 虽然 Transf…

《JavaEE进阶》----10.<SpringMVC应用分层:【三层架构】>

本篇博客我们主要讲解 1.应用的分层:三层架构 2.Spring MVC和三层架构的区别和联系 3.软件设计原则:高内聚低耦合 4.应用分层的好处 5.通过应用分层后的代码示例 一、三层架构简介 阿里开发手册中,关于工程结构部分,定义了常见工程的应用分层结构: 上图…

【Java 基础】:三大特征之多态

✨ 杏花疏影里,吹笛到天明 🌏 📃个人主页:island1314 🔥个人专栏:java学习 ⛺️ 欢迎关注:👍点赞 👂&…

u盘格式化数据还能恢复吗?点击了解实用教程

U盘是电子数据存储设备,我们主要用它来转移数据、随身携带数据等。同时U盘在使用过程中常会遇到问题,比如U盘中毒,U盘中毒会导致里面保存的数据文件无法读取,我们需要进行U盘格式化。格式化之后的U盘才可以继续使用,那…

软件测试-Selenium+python自动化测试

目录 会用到谷歌浏览器Chrome测试,需要下载一个Chromedriver(Chrome for Testing availability)对应自己的浏览器版本号选择。 一、元素定位 对html网页中的元素进行定位,同时进行部分操作。 1.1一个简单的模板 from selenium import webdriver from selenium.webdrive…

本地部署AList并挂载小雅超集结合内网穿透实现无公网IP远程访问

文章目录 前言1. 本地部署AList2. AList挂载网盘3. 部署小雅alist3.1 Token获取3.2 部署小雅3.3 挂载小雅alist到AList中 4. Cpolar内网穿透安装5. 创建公网地址6. 配置固定公网地址 💡 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂&#xff…

42.接雨水

42.接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1…

一文搞懂微服务架构之限流

前置知识 限流是通过限制住流量大小来保护系统,能够解决异常突发流量打崩系统的问题。例如常见的某个攻击者在攻击你维护的系统,那么限流就是极大程度上保护住你的系统。 算法 限流算法也可以像负载均衡算法那样,划分成静态算法和动态算法…

【Java】—— Java面向对象高级:关键字static的使用

目录 1. 关键字:static 1.1 类属性、类方法的设计思想 1.2 static关键字 1.3 静态变量 1.3.1 语法格式 1.3.2 静态变量的特点 1.4 静态方法 1.4.1 语法格式 1.4.2 静态方法的特点 1.5 练习 1. 关键字:static 回顾类中的实例变量(即…

Android - Windows平台下Android Studio使用系统的代理

这应该是第一篇Android的博文吧。以后应该会陆续更新的。记录学习Android的点点滴滴。 之前也看过,不过看完书就忘了,现在重拾Android,记录学习历程。 为何要用代理 因为更新gradle太慢了。 如何使用系统的代理 先找到系统代理的ip和端口。…

C++学习笔记----6、内存管理(一)---- 使用动态内存(3)

3.2、对象数组 对象数组与原型/基础类型的数组没有什么不同,除了元素的初始化之外。当你使用new[N]去分配N个对象,就把N个连续的块空间分配出去了,每一个块空间可以放一个单独的对象。对于对象数组,New[]对每一个对象自动调用0参数…

激光雷达产品介绍

与传统激光雷达线性重复式的扫描方式不同,Livox mid系列激光雷达扫描路径不会重复。且视场中激光照射到的区域面积会随时间增大,这就意味着视场覆盖率随时间推移而显著提高。 内容参考自《解构大疆旗下 Livox Mid 激光雷达非重复扫描技术》作者&#xff…

【C++11(一)之入门基础)】

文章目录 C简介统一的列表初始化{}初始化 std::initializer_liststd::initializer_list是什么类型:std::initializer_list使用场景: 声明autodecltypenullptr STL中一些变化 C简介 在2003年C标准委员会曾经提交了一份技术勘误表(…

#ARM开发 笔记

课程介绍 ARM开发 --> Linux移植 --> 驱动开发 前后联系:ARM和系统移植为驱动开发学习做准备工作 所需知识:C语言基础及STM32需要的硬件知识 学习方法 学习流程、思想和解决问题的方法即可 知道驱动的基本框架以及基本开发要求 底层课程导学 接口技…

linux小程序-进度条

文章目录 pro.hpro.cmain.cmakefile测试 pro.h #pragma once#include <stdio.h>typedef void(*callback_t)(double, double);void probar(double total, double current);pro.c #include "pro.h" #include <string.h> #include <unistd.h> #defi…

webshell绕过样本初体验

目录 一&#xff1a;前景 二&#xff1a;样本 样本一&#xff1a; 样本二&#xff1a; 样本三&#xff1a; 样本4&#xff1a; 样本5&#xff1a; 一&#xff1a;前景 在我们日常的网站中百分之一百是存在一些安全设备来拦截我们的webshell的&#xff0c;一般情况…

Kafka大厂面试14问(附答案)

怎么保证顺序消费&#xff1f; 同一个生产者发送到同一分区的消息&#xff0c;先发送的比后发送的offset要小。同一生产者发送到不同分区的消息&#xff0c;消息顺序无法保证。 怎么解决这个问题&#xff1f; 给一个topic只设置一个分区 相同key会发给一个分区 怎么保证幂…

[有彩蛋]大模型独角兽阶跃星辰文生图模型Step-1X上线,效果具说很炸裂?快来看一手实测!

先简单介绍一下阶跃星辰吧 公司的创始人兼CEO是姜大昕博士&#xff0c;他在微软担任过全球副总裁&#xff0c;同时也是微软亚洲互联网工程研究院的副院长和首席科学家。 2024年3月&#xff0c;阶跃星辰发布了Step-2万亿参数MoE语言大模型预览版&#xff0c;这是国内初创公司首…

Centos7通过reposync搭建本地Yum源

目录 1. 服务端搭建 1.1. 安装相关软件包 1.2. 加载几个常用的yum源 1.3. 创建文件保存目录 1.4. 把各仓库同步到本地 1.5. 生成仓库信息 1.6. 定时任务更新仓库 1.7. nginx配置下载服务 1.8. 内网测试nginx服务配置是否正确 2. 客户端配置 前言&#xff1a;之前使用…