Spug自动化部署工具的搭建与应用(Java部署)
一、安装Spug
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创建 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- 初始化:以下操作会创建一个用户名为
admin密码为spug.cc的管理员账户,可自行替换管理员账户 / 密码。docker exec spug init_spug admin spug.cc - 访问测试 在浏览器中输入
http://localhost:80访问(默认账户密码在第 4 步初始化时设置)。
二、链接服务器、gitee仓库自动化部署
- 主机管理:Spug官方部署博客
![image]()
spug 平台不会在数据库保存目标主机的账号密码,用户第一次输入账号密码后,后续 spug 会使用自动生成的密钥对进行主机连接![image]()
表示已成功 - 添加环境
![image]()
- 添加应用
![image]()
- 新建发布
![image]()
- gitee仓库设置公钥
![image]()
- 下载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 - 概览
![image]()
- 文件过滤
ruoyi-admin.jar - 代码检出后
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 . - 应用发布前 发布前停止现有的服务
# 停止服务 PID=$(ps -ef | grep ruoyi-admin | grep -v grep | awk '{print $2}') if [ ! -z $PID ]; then kill -9 $PID fi - 应用发布后 在这里启动服务
# 添加jdk至PATH变量 PATH=$PATH:/usr/local/OpenJDK21U/bin nohup java -jar ruoyi-admin.jar &> run.log &








浙公网安备 33010602011771号