Spug自动化部署工具的搭建与应用(Java部署)

Spug官网

 

一、安装Spug

  1. docker安装
    yum install -y yum-utils
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    yum install docker-ce docker-compose-plugin
    systemctl enable docker
    systemctl start docker
  2. 创建 docker-compose.yml
     version: "3.3"
    services:
      db:
        image: mariadb:10.8.2
        container_name: spug-db
        restart: always
        command: --port 3306 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
        volumes:
          - /data/spug/mysql:/var/lib/mysql
        environment:
          - MYSQL_DATABASE=spug
          - MYSQL_USER=spug
          - MYSQL_PASSWORD=spug.cc
          - MYSQL_ROOT_PASSWORD=spug.cc
      spug:
        image: openspug/spug-service
        container_name: spug
        privileged: true
        restart: always
        volumes:
          - /data/spug/service:/data/spug
          - /data/spug/repos:/data/repos
        ports:
          # 如果80端口被占用可替换为其他端口,例如: - "8000:80"
          - "8000:80"
        environment:
          - MYSQL_DATABASE=spug
          - MYSQL_USER=spug
          - MYSQL_PASSWORD=spug.cc
          - MYSQL_HOST=db
          - MYSQL_PORT=3306
        depends_on:
          - db

    推荐在/opt/spug下创建 vi docker-compose.yml

  3. 启动容器 docker compose up -d

  4. 初始化:以下操作会创建一个用户名为 admin 密码为 spug.cc 的管理员账户,可自行替换管理员账户 / 密码。
    docker exec spug init_spug admin spug.cc
  5. 访问测试  在浏览器中输入 http://localhost:80 访问(默认账户密码在第 4 步初始化时设置)。

二、链接服务器、gitee仓库自动化部署

  1. 主机管理:Spug官方部署博客
    image
    spug 平台不会在数据库保存目标主机的账号密码,用户第一次输入账号密码后,后续 spug 会使用自动生成的密钥对进行主机连接
    image
    表示已成功
  2. 添加环境
    image
  3. 添加应用
    image
  4. 新建发布
    image
  5. gitee仓库设置公钥
    image
  6. 下载OpenJdk     下载maven
    安装 jdk /maven
     # 自行至 https://https://adoptium.net/zh-CN/temurin/releases?version=21&os=any&arch=any 下载jdk
    # 把已下载的压缩包拷贝进容器
    docker cp OpenJDK21U-jdk_x64_linux_hotspot_21.0.9_10.tar.gz spug:/
    docker cp apache-maven-3.9.11-bin.tar.gz spug:/
    docker exec -it spug bash
    tar xf OpenJDK21U-jdk_x64_linux_hotspot_21.0.9_10.tar.gz -C /opt
    
    # 安装maven
    # curl -o apache-maven-3.6.3-bin.tar.gz http://apache.mirrors.pair.com/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
    tar xf apache-maven-3.9.11-bin.tar.gz -C /opt/
    
    # 全局设置环境变量
    echo -e 'export JAVA_HOME=/opt/OpenJDK21U\nexport PATH=$PATH:$JAVA_HOME/bin:/opt/apache-maven-3.9.11-bin' > /data/spug/env
    
    # [可选]配置阿里云镜像加速下载,在159-164行(<mirrors\>标签内)添加以下内容
    vi /opt/apache-maven-3.9.11/conf/settings.xml
    
        159     <mirror>
        160       <id>aliyunmaven</id>
        161       <mirrorOf>*</mirrorOf>
        162       <name>阿里云公共仓库</name>
        163       <url>https://maven.aliyun.com/repository/public</url>
        164     </mirror>
    
    # 退出并重启容器
    exit
    docker restart spug
  7. 概览
    image
  8. 文件过滤ruoyi-admin.jar
  9. 代码检出后
    export JAVA_HOME=/opt/jdk-21.0.9+10
    export PATH=$PATH:$JAVA_HOME/bin:/opt/apache-maven-3.9.11/bin
    # 执行maven编译
    mvn clean package -Dmaven.test.skip=true
    cp ruoyi-admin/target/ruoyi-admin.jar .
  10. 应用发布前 发布前停止现有的服务
    # 停止服务
    PID=$(ps -ef | grep ruoyi-admin | grep -v grep | awk '{print $2}')
    if [ ! -z $PID ]; then
       kill -9 $PID
    fi
  11. 应用发布后 在这里启动服务
    # 添加jdk至PATH变量
    PATH=$PATH:/usr/local/OpenJDK21U/bin
    nohup java -jar ruoyi-admin.jar &> run.log &

 

posted @ 2025-12-03 10:46  xd99  阅读(14)  评论(0)    收藏  举报