ソースを参照

## 提交测试环境配置文件

slliver@163.com 8 ヶ月 前
コミット
c51c13a13a
4 ファイル変更191 行追加1 行削除
  1. 45 0
      .test.drone.yml
  2. 45 0
      run_test.sh
  3. 100 0
      src/main/resources/application-test.yml
  4. 1 1
      src/main/resources/application.yml

+ 45 - 0
.test.drone.yml

@@ -0,0 +1,45 @@
+kind: pipeline # 定义对象类型,还有secret和signature两种类型
+type: docker # 定义流水线类型,还有kubernetes、exec、ssh等类型
+name: ezhizao_yzbh_production_api # 定义流水线名称
+
+steps: # 定义流水线执行步骤,这些步骤将顺序执行
+  - name: package # 流水线名称
+    image: maven:3-jdk-8 # 定义创建容器的Docker镜像
+    volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置
+      - name: maven-cache
+        path: /root/.m2 # 将maven下载依赖的目录挂载出来,防止重复下载
+      - name: maven-build
+        path: /home/build # 将应用打包好的Jar和执行脚本挂载出来
+    commands: # 定义在Docker容器中执行的shell命令
+      - mvn clean package # 应用打包命令
+      - mkdir -p /home/build/ezhizao_yzbh_production/jar/
+      - cp target/ezhizao_yzbh_production.jar /home/build/ezhizao_yzbh_production/jar/ezhizao_yzbh_production.jar
+      - cp Dockerfile /home/build/ezhizao_yzbh_production/Dockerfile
+      - cp run_test.sh /home/build/ezhizao_yzbh_production/run_test.sh
+
+  - name: build-start
+    image: appleboy/drone-ssh:1.7.7 # SSH工具镜像
+    settings:
+      host: 120.46.59.90 # 远程连接地址
+      username:
+        from_secret: ssh_user # 远程连接账号
+      password:
+        from_secret: ssh_password # 从Secret中读取SSH密码
+      port: 22 # 远程连接端口
+      command_timeout: 5m # 远程执行命令超时时间
+      script:
+        - cd /home/build/ezhizao_yzbh_production # 进入宿主机构建目录
+        - chmod +x run_test.sh # 更改为可执行脚本
+        - ./run_test.sh # 运行脚本打包应用镜像并运行
+
+volumes: # 定义流水线挂载目录,用于共享数据
+  - name: maven-build
+    host:
+      path: /home/build  # 从宿主机中挂载的目录
+  - name: maven-cache
+    host:
+      path: /home/cache
+
+trigger:
+  branch:
+    - test20250120

+ 45 - 0
run_test.sh

@@ -0,0 +1,45 @@
+#!/usr/bin/env bash
+# 定义应用组名
+group_name='ezhizao'
+# 定义应用名称
+app_name='ezhizao_yzbh_production_api'
+# 定义挂载目录名称
+volume_name='ezhizao_yzbh_production'
+# 定义应用版本
+app_version='1.0-SNAPSHOT'
+# 定义后端端口
+app_port=8043
+# 定义应用环境
+profile_active='test'
+
+# 删除镜像
+# docker rmi ${group_name}/${app_name}:${app_version}
+# echo '----rm image----'
+
+# 打包编译docker镜像
+docker build -t ${group_name}/${app_name}:${app_version} .
+
+if [ $? -eq 0 ]; then
+    echo '----build image success----'
+else
+    echo '----build image fail----'
+    exit 1
+fi
+
+# 停止容器
+docker stop ${app_name}
+echo '----stop container----'
+
+# 删除容器
+docker rm ${app_name}
+echo '----rm container----'
+
+docker run -p ${app_port}:${app_port} --name ${app_name} --network yzbh_network \
+-e 'spring.profiles.active'=${profile_active} \
+-e TZ="Asia/Shanghai" \
+-v /home/build/${volume_name}/logs:/home/ruoyi/logs \
+-v /home/files:/home/files \
+-d ${group_name}/${app_name}:${app_version}
+echo '----start container----'
+docker system prune -f
+echo '----clear docker----'

+ 100 - 0
src/main/resources/application-test.yml

@@ -0,0 +1,100 @@
+# 数据源配置
+spring:
+  cloud:
+    nacos:
+      discovery:
+          server-addr: 120.46.59.90:8848 # Nacos服务器地址
+          username: nacos
+          password: nacos
+      config:
+          enabled: true
+  application:
+    name: ezhizao-yzbh-production
+  # redis 配置
+  redis:
+    # 地址
+    host: 120.46.59.90
+    # 端口,默认为6379
+    port: 16379
+    # 数据库索引
+    database: 8
+    # 密码
+    password: ezhizao.cn123456
+    # 连接超时时间
+    timeout: 10s
+    lettuce:
+      pool:
+        # 连接池中的最小空闲连接
+        min-idle: 0
+        # 连接池中的最大空闲连接
+        max-idle: 8
+        # 连接池的最大数据库连接数
+        max-active: 8
+        # #连接池最大阻塞等待时间(使用负值表示没有限制)
+        max-wait: -1ms
+  datasource:
+    type: com.alibaba.druid.pool.DruidDataSource
+    driverClassName: com.mysql.cj.jdbc.Driver
+    druid:
+      # 主库数据源
+      master:
+        url: jdbc:mysql://120.46.59.90:3306/ezhizao_yzbh_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=true&rewriteBatchedStatements=true&serverTimezone=GMT%2B8&connectTimeout=360000&socketTimeout=360000
+        username: root
+        password: ezhizao.cn123456
+      #                url: jdbc:mysql://localhost:3306/ezhizao_yzbh_v2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=true&rewriteBatchedStatements=true&serverTimezone=GMT%2B8
+      #                username: root
+      #                password: 123456
+      # 从库数据源
+      #            slave:
+      #                # 从数据源开关/默认关闭
+      #                enabled: true
+      #                url: jdbc:mysql://116.204.99.126:3306/snms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&rewriteBatchedStatements=true&serverTimezone=GMT%2B8
+      #                username: idis_user
+      #                password: Teleinfo-88
+      # 初始连接数
+      initialSize: 5
+      # 最小连接池数量
+      minIdle: 10
+      # 最大连接池数量
+      maxActive: 20
+      # 配置获取连接等待超时的时间
+      maxWait: 60000
+      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
+      timeBetweenEvictionRunsMillis: 60000
+      # 配置一个连接在池中最小生存的时间,单位是毫秒
+      minEvictableIdleTimeMillis: 300000
+      # 配置一个连接在池中最大生存的时间,单位是毫秒
+      maxEvictableIdleTimeMillis: 900000
+      # 配置检测连接是否有效
+      validationQuery: SELECT 1 FROM DUAL
+      testWhileIdle: true
+      testOnBorrow: false
+      testOnReturn: false
+      webStatFilter:
+        enabled: true
+      statViewServlet:
+        enabled: true
+        # 设置白名单,不填则允许所有访问
+        allow:
+        url-pattern: /druid/*
+        # 控制台管理用户名和密码
+        login-username: admin
+        login-password: ezhizao.cn
+      filter:
+        stat:
+          enabled: true
+          # 慢SQL记录
+          log-slow-sql: true
+          slow-sql-millis: 1000
+          merge-sql: true
+        wall:
+          config:
+            multi-statement-allow: true
+      socket-timeout: 3600000
+# 文件上传
+ruoyi:
+  profile: /home/ruoyi/yzbh/
+  pdfTemplate:
+    url: /home/files/yzbh/templates/
+  pdfFontPath:
+    url: /usr/share/fonts/chinese/

+ 1 - 1
src/main/resources/application.yml

@@ -71,7 +71,7 @@ spring:
     # 国际化资源文件路径
     basename: i18n/messages
   profiles:
-    active: dev
+    active: test
   # 文件上传
   servlet:
      multipart: