当前位置: 代码网 > it编程>编程语言>Java > idea实现一键自动化部署项目

idea实现一键自动化部署项目

2026年01月15日 Java 我要评论
前言一键自动化部署项目是现代软件开发中的一种高效实践,它带来了许多显著的好处:提高效率:自动化部署可以节省手动部署所需的时间。特别是在频繁部署的情况下,自动化可以显著减少重复性工作,让开发人员有更多时

前言

一键自动化部署项目是现代软件开发中的一种高效实践,它带来了许多显著的好处:

  • 提高效率:自动化部署可以节省手动部署所需的时间。特别是在频繁部署的情况下,自动化可以显著减少重复性工作,让开发人员有更多时间专注于编码和解决问题。
  • 减少错误:手动部署过程容易出错,尤其是在复杂的部署流程中。自动化部署可以减少人为错误,确保每次部署都是一致和可靠的。
  • 快速回滚:如果新部署的版本出现问题,自动化部署流程可以快速回滚到上一个稳定版本,减少系统不可用的时间。
  • 持续集成和持续部署(ci/cd):自动化部署是ci/cd流程的关键组成部分,它允许开发团队快速迭代和发布新功能,提高软件交付的速度和质量。
  • 标准化流程:自动化部署有助于标准化部署流程,确保所有团队成员都遵循相同的步骤和标准,这有助于维护代码和部署的一致性。

提示:文章一共介绍2种方式,下面案例可供参考

一、 idea插件安装

1. 首先下载 alibaba cloud toolkit 插件

2. 插件下载完成后重启idea

二、springboot项目准备

1. pom.xml 文件

<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
         xsi:schemalocation="http://maven.apache.org/pom/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelversion>4.0.0</modelversion>
    <parent>
        <groupid>org.springframework.boot</groupid>
        <artifactid>spring-boot-starter-parent</artifactid>
        <version>2.7.3</version>
        <relativepath/> <!-- lookup parent from repository -->
    </parent>
    <groupid>com.test</groupid>
    <artifactid>demo-test</artifactid>
    <version>1.0.0-snapshot</version>
    <name>demo-test</name>
    <description>demo-test</description>

    <properties>
        <java.version>8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupid>org.springframework.boot</groupid>
            <artifactid>spring-boot-starter-web</artifactid>
        </dependency>

        <dependency>
            <groupid>org.springframework.boot</groupid>
            <artifactid>spring-boot-starter-test</artifactid>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupid>org.springframework.boot</groupid>
                <artifactid>spring-boot-maven-plugin</artifactid>
            </plugin>
        </plugins>
    </build>

</project>

2. controller

package com.test.controller;

import org.springframework.web.bind.annotation.*;

@restcontroller
@requestmapping("demo")
public class testcontroller {

    /**
     * 测试接口
     *
     * @param version 版本号
     * @return 版本号
     */
    @getmapping("query")
    public string query(@requestparam string version) {
        system.out.println("打印版本 = " + version);
        return version;
    }
}

3. 启动类

package com.test;

import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;

@springbootapplication
public class demotestapplication {

    public static void main(string[] args) {
        springapplication.run(demotestapplication.class, args);
    }
}

三、springboot项目jar包部署

1. alibaba cloud toolkit 插件服务器配置

2. 主机 ip、用户名、密码 点击测试链接

3. 编辑项目配置

4. 选择 deploy to host

5. 指定target deploy host 选择添加主机ip,勾选刚添加的服务器

6. 配置服务器jar包存放目录

7. 选择本地要上传的jar包

  • 注意⚠️ 这里一定要本地的绝对路径

8. 添加启动命令

9. 配置打包命令

clean package install -dmaven.test.skip=true

到这里差不多就配置完了,简单测试一下

10. 测试



11. 部署脚本

服务器脚本位置

/opt/app/test/deploy/test.sh

test.sh

#!/bin/bash

# 定义程序路径和文件名的数组
declare -a app_server_paths=("/opt/app/test/")
declare -a app_servers=("demo-test-1.0.0-snapshot.jar")

# 停止并重启每个程序
for ((i = 0; i < ${#app_server_paths[@]}; i++)); do
  app_server_path=${app_server_paths[$i]}
  app_server=${app_servers[$i]}

  # 查找正在运行的java进程的pid
  pid=$(ps aux | grep java | grep "$app_server" | grep -v grep | awk '{print $2}')

  if [ -z "$pid" ]; then
    echo "demo-test-1.0.0 server application $i is not running."
  else
    # 杀死进程
    echo "stopping demo-test-1.0.0 server application $i (pid: $pid)..."
    kill $pid
    sleep 5
  fi
done

# 确保进程已停止后再启动程序
for ((i = 0; i < ${#app_server_paths[@]}; i++)); do
  app_server_path=${app_server_paths[$i]}
  app_server=${app_servers[$i]}

  # 启动程序
  echo "starting demo-test-1.0.0 server application $i..."
  nohup java -xms512m -xmx1024m -xmn256m -xss256k -jar "${app_server_path}${app_server}" --spring.profiles.active=prod > /dev/null 2>&1 &

  echo "demo-test-1.0.0 server application $i restarted successfully."
done

修改idea 部署脚本

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com