最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

idea實(shí)現(xiàn)一鍵自動(dòng)化部署項(xiàng)目

 更新時(shí)間:2026年01月15日 10:51:51   作者:智匯探長(zhǎng)  
本文介紹了兩種自動(dòng)化部署Spring?Boot項(xiàng)目的方法,第一種方法使用AlibabaCloudToolkit插件,包括安裝插件、服務(wù)器配置和部署步驟,第二種方法涉及pom.xml配置、啟動(dòng)類編寫、jar包部署和腳本配置,通過(guò)自動(dòng)化部署,可以提高效率、減少錯(cuò)誤和加快軟件交付速度

前言

一鍵自動(dòng)化部署項(xiàng)目是現(xiàn)代軟件開發(fā)中的一種高效實(shí)踐,它帶來(lái)了許多顯著的好處:

  • 提高效率:自動(dòng)化部署可以節(jié)省手動(dòng)部署所需的時(shí)間。特別是在頻繁部署的情況下,自動(dòng)化可以顯著減少重復(fù)性工作,讓開發(fā)人員有更多時(shí)間專注于編碼和解決問(wèn)題。
  • 減少錯(cuò)誤:手動(dòng)部署過(guò)程容易出錯(cuò),尤其是在復(fù)雜的部署流程中。自動(dòng)化部署可以減少人為錯(cuò)誤,確保每次部署都是一致和可靠的。
  • 快速回滾:如果新部署的版本出現(xiàn)問(wèn)題,自動(dòng)化部署流程可以快速回滾到上一個(gè)穩(wěn)定版本,減少系統(tǒng)不可用的時(shí)間。
  • 持續(xù)集成和持續(xù)部署(CI/CD):自動(dòng)化部署是CI/CD流程的關(guān)鍵組成部分,它允許開發(fā)團(tuán)隊(duì)快速迭代和發(fā)布新功能,提高軟件交付的速度和質(zhì)量。
  • 標(biāo)準(zhǔn)化流程:自動(dòng)化部署有助于標(biāo)準(zhǔn)化部署流程,確保所有團(tuán)隊(duì)成員都遵循相同的步驟和標(biāo)準(zhǔn),這有助于維護(hù)代碼和部署的一致性。

提示:文章一共介紹2種方式,下面案例可供參考

一、 IDEA插件安裝

1. 首先下載 Alibaba Cloud Toolkit 插件

2. 插件下載完成后重啟IDEA

二、SpringBoot項(xiàng)目準(zhǔn)備

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 {

    /**
     * 測(cè)試接口
     *
     * @param version 版本號(hào)
     * @return 版本號(hào)
     */
    @GetMapping("query")
    public String query(@RequestParam String version) {
        System.out.println("打印版本 = " + version);
        return version;
    }
}

3. 啟動(dòng)類

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項(xiàng)目jar包部署

1. Alibaba Cloud Toolkit 插件服務(wù)器配置

2. 主機(jī) IP、用戶名、密碼 點(diǎn)擊測(cè)試鏈接

3. 編輯項(xiàng)目配置

4. 選擇 Deploy to Host

5. 指定Target Deploy Host 選擇添加主機(jī)IP,勾選剛添加的服務(wù)器

6. 配置服務(wù)器jar包存放目錄

7. 選擇本地要上傳的jar包

  • 注意?? 這里一定要本地的絕對(duì)路徑

8. 添加啟動(dòng)命令

9. 配置打包命令

clean package install -Dmaven.test.skip=true

到這里差不多就配置完了,簡(jiǎn)單測(cè)試一下

10. 測(cè)試



11. 部署腳本

服務(wù)器腳本位置

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

test.sh

#!/bin/bash

# 定義程序路徑和文件名的數(shù)組
declare -a APP_SERVER_PATHS=("/opt/app/test/")
declare -a APP_SERVERS=("demo-test-1.0.0-SNAPSHOT.jar")

# 停止并重啟每個(gè)程序
for ((i = 0; i < ${#APP_SERVER_PATHS[@]}; i++)); do
  APP_SERVER_PATH=${APP_SERVER_PATHS[$i]}
  APP_SERVER=${APP_SERVERS[$i]}

  # 查找正在運(yùn)行的Java進(jìn)程的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
    # 殺死進(jìn)程
    echo "Stopping demo-test-1.0.0 server application $i (PID: $PID)..."
    kill $PID
    sleep 5
  fi
done

# 確保進(jìn)程已停止后再啟動(dòng)程序
for ((i = 0; i < ${#APP_SERVER_PATHS[@]}; i++)); do
  APP_SERVER_PATH=${APP_SERVER_PATHS[$i]}
  APP_SERVER=${APP_SERVERS[$i]}

  # 啟動(dòng)程序
  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 部署腳本

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用SpringBoot生成war包的流程步驟

    使用SpringBoot生成war包的流程步驟

    一般情況下,在SpringBoot項(xiàng)目開發(fā)完成進(jìn)行服務(wù)器部署時(shí),都是打成JAR包進(jìn)行部署運(yùn)行的,但是在有些情況下也需要將其打成War包使用Tomcat進(jìn)行部署,本篇文章就簡(jiǎn)單介紹一下SpringBoot如何打成War包,需要的朋友可以參考下
    2024-10-10
  • 如何實(shí)現(xiàn)java Iterator迭代器功能

    如何實(shí)現(xiàn)java Iterator迭代器功能

    這篇文章主要介紹了如何實(shí)現(xiàn)java Iterator迭代器功能,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java中實(shí)現(xiàn)樹形菜單的兩種方式

    Java中實(shí)現(xiàn)樹形菜單的兩種方式

    這篇文中,我一共會(huì)用兩種方式來(lái)實(shí)現(xiàn)目錄樹的數(shù)據(jù)結(jié)構(gòu),兩種寫法邏輯是一樣的,只是一種適合新手理解,一種看著簡(jiǎn)單明了但是對(duì)于小白不是很好理解,在這里我會(huì)很詳細(xì)的講解每一步代碼,主要是方便新人看懂,彌補(bǔ)曾經(jīng)自己學(xué)習(xí)過(guò)程中的苦惱,需要的朋友可以參考下
    2023-09-09
  • Java實(shí)現(xiàn)圖片翻轉(zhuǎn)以及任意角度旋轉(zhuǎn)

    Java實(shí)現(xiàn)圖片翻轉(zhuǎn)以及任意角度旋轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)圖片翻轉(zhuǎn)以及任意角度旋轉(zhuǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • SpringBoot發(fā)送郵箱驗(yàn)證碼功能

    SpringBoot發(fā)送郵箱驗(yàn)證碼功能

    這篇文章主要介紹了SpringBoot發(fā)送郵箱驗(yàn)證碼功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • MyBatis中多對(duì)一和一對(duì)多數(shù)據(jù)的處理方法

    MyBatis中多對(duì)一和一對(duì)多數(shù)據(jù)的處理方法

    這篇文章主要介紹了MyBatis中多對(duì)一和一對(duì)多數(shù)據(jù)的處理,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • Java中的8大基本數(shù)據(jù)類型詳解

    Java中的8大基本數(shù)據(jù)類型詳解

    這篇文章主要介紹了Java中8大基本數(shù)據(jù)類型的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Java?設(shè)計(jì)模式以虹貓藍(lán)兔的故事講解原型模式

    Java?設(shè)計(jì)模式以虹貓藍(lán)兔的故事講解原型模式

    原型模式是用于創(chuàng)建重復(fù)的對(duì)象,同時(shí)又能保證性能。這種類型的設(shè)計(jì)模式屬于創(chuàng)建型模式,它提供了一種創(chuàng)建對(duì)象的最佳方式,今天通過(guò)本文給大家介紹下Java 原型設(shè)計(jì)模式,感興趣的朋友一起看看吧
    2022-04-04
  • SpringBoot實(shí)現(xiàn)文件記錄日志及日志文件自動(dòng)歸檔和壓縮

    SpringBoot實(shí)現(xiàn)文件記錄日志及日志文件自動(dòng)歸檔和壓縮

    Logback是Java日志框架,通過(guò)Logger收集日志并經(jīng)Appender輸出至控制臺(tái)、文件等,SpringBoot配置logback-spring.xml可實(shí)現(xiàn)日志文件存儲(chǔ),本文給大家介紹了SpringBoot實(shí)現(xiàn)文件記錄日志及日志文件自動(dòng)歸檔和壓縮,需要的朋友可以參考下
    2025-05-05
  • PowerJob Alarmable工作流程源碼剖析

    PowerJob Alarmable工作流程源碼剖析

    這篇文章主要為大家介紹了PowerJob Alarmable工作流程源碼剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01

最新評(píng)論

伊宁市| 宝应县| 金昌市| 炎陵县| 游戏| 东宁县| 禹州市| 泰兴市| 徐汇区| 阳城县| 竹溪县| 水富县| 清流县| 胶州市| 刚察县| 杭锦旗| 体育| 建湖县| 肥城市| 丰顺县| 股票| 巴中市| 北海市| 商河县| 西华县| 荔浦县| 东平县| 平顶山市| 邵阳市| 资源县| 郑州市| 阜南县| 德庆县| 涪陵区| 临潭县| 汉中市| 沐川县| 视频| 淮南市| 葵青区| 酒泉市|