he2802 3 anni fa
parent
commit
f051a7b44e

+ 45 - 0
.drone-pre.yml

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

+ 68 - 0
run-pre.sh

@@ -0,0 +1,68 @@
+#!/usr/bin/env bash
+# 定义应用组名
+group_name='zhongzheng'
+# 定义应用名称
+app_name='zhongzheng-saas-api'
+# 定义应用版本
+app_version='1.0-SNAPSHOT'
+# 定义应用环境
+profile_active='pre'
+echo '----copy jar----'
+docker stop ${app_name}
+echo '----stop container----'
+docker rm ${app_name}
+echo '----rm container----'
+docker rmi ${group_name}/${app_name}:${app_version}
+echo '----rm image----'
+# 打包编译docker镜像
+docker build -f /mydata/maven/build/Dockerfile -t ${group_name}/${app_name}:${app_version} .
+echo '----build image----'
+docker run -p 5055:5055 --name ${app_name} \
+--restart=always \
+--link mysql:db \
+-e 'spring.profiles.active'=${profile_active} \
+-e TZ="Asia/Shanghai" \
+-v /etc/localtime:/etc/localtime \
+-v /mydata/app/${app_name}/logs:/var/logs \
+-d ${group_name}/${app_name}:${app_version}
+echo '----start container----'
+
+echo "开始等待20秒..."
+# 1-10秒内随机
+sleep 5
+echo "等待后继续"
+
+#!/usr/bin/env bash
+# 定义应用组名
+group_admin_name='zhongzheng'
+# 定义应用名称
+app_admin_name='zhongzheng-saas-admin'
+# 定义应用版本
+app_admin_version='1.0-SNAPSHOT'
+# 定义应用环境
+profile_active='pre'
+echo '----copy jar admin----'
+docker stop ${app_admin_name}
+echo '----stop container admin----'
+docker rm ${app_admin_name}
+echo '----rm container admin----'
+docker rmi ${group_admin_name}/${app_admin_name}:${app_admin_version}
+echo '----rm image admin----'
+# 打包编译docker镜像
+docker build -f /mydata/maven/build/Dockerfile-admi -t ${group_admin_name}/${app_admin_name}:${app_admin_version} .
+echo '----build image admin----'
+docker run \
+-p 5030:5030 \
+--name ${app_admin_name} \
+--restart=always \
+--link mysql:db \
+-e 'spring.profiles.active'=${profile_active} \
+-e TZ="Asia/Shanghai" \
+-v /etc/localtime:/etc/localtime \
+-v /mydata/app/${app_admin_name}/logs:/var/logs \
+-d ${group_admin_name}/${app_admin_name}:${app_admin_version}
+echo '----start container admin----'
+
+
+
+

+ 97 - 0
zhongzheng-admin-saas/src/main/resources/application-pre.yml

@@ -0,0 +1,97 @@
+# 数据源配置
+spring:
+    datasource:
+        type: com.alibaba.druid.pool.DruidDataSource
+        driverClassName: com.mysql.cj.jdbc.Driver
+        druid:
+            # 主库数据源
+            master:
+                url: jdbc:mysql://192.168.1.222:3306/zz_edu_saas?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
+                username: root
+                password: zhongzheng2021
+            # 从库数据源
+            slave:
+                # 从数据源开关/默认关闭
+                enabled: false
+                url:
+                username:
+                password:
+            # 初始连接数
+            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: ruoyi
+                login-password: 123456
+            filter:
+                stat:
+                    enabled: true
+                    # 慢SQL记录
+                    log-slow-sql: true
+                    slow-sql-millis: 1000
+                    merge-sql: true
+                wall:
+                    config:
+                        multi-statement-allow: true
+    # redis 配置
+    redis:
+        # 地址
+        host: 192.168.1.222
+        # 端口,默认为6379
+        port: 6379
+        # 数据库索引
+        database: 0
+        # 密码
+        password: zhongzheng2021_redis
+        # 连接超时时间
+        timeout: 10s
+        lettuce:
+            pool:
+                # 连接池中的最小空闲连接
+                min-idle: 0
+                # 连接池中的最大空闲连接
+                max-idle: 8
+                # 连接池的最大数据库连接数
+                max-active: 8
+                # #连接池最大阻塞等待时间(使用负值表示没有限制)
+                max-wait: -1ms
+aliyun:
+    oss:
+        endpoint: https://file-dev.xyyxt.net # oss对外服务的访问域名
+        accessKeyId: LTAIgC8O2WUXvXuR  # 访问身份验证中用到用户标识
+        accessKeySecret: 1yyCazuT1M6MruBXzgFjP0p9gdMlwX # 用户用于加密签名字符串和oss用来验证签名字符串的密钥
+        bucketName: zhongzheng-test # oss的存储空间
+        policy:
+            expire: 30 # 签名有效期(S)
+        maxSize: 10 # 上传文件大小(M)
+        callback: http://120.79.166.78:19004/aliyun/oss/callback # 文件上传成功后的回调地址
+        dir:
+            prefix: oss/images/ # 上传文件夹路径前缀 `
+poliv:
+    token:
+        userid: d5f6d309fe
+        writetoken: 8f14a371-9d02-4ec1-922d-54d7b4f79dca
+        readtoken: f2c397b4-e2a3-46dc-9266-e6a43ac26a35
+        secretkey: xpPrYdcbA1

+ 111 - 0
zhongzheng-admin/src/main/resources/application-pre.yml

@@ -0,0 +1,111 @@
+# 数据源配置
+spring:
+    datasource:
+        type: com.alibaba.druid.pool.DruidDataSource
+        driverClassName: com.mysql.cj.jdbc.Driver
+        druid:
+            # 主库数据源
+            master:
+                url: jdbc:mysql://192.168.1.222:3306/zz_edu_saas_pre?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
+                username: root
+                password:  zhongzheng2021
+            # 从库数据源
+            slave:
+                # 从数据源开关/默认关闭
+                enabled: false
+                url:
+                username:
+                password:
+            # 初始连接数
+            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: ruoyi
+                login-password: 123456
+            filter:
+                stat:
+                    enabled: true
+                    # 慢SQL记录
+                    log-slow-sql: true
+                    slow-sql-millis: 1000
+                    merge-sql: true
+                wall:
+                    config:
+                        multi-statement-allow: true
+    # redis 配置
+    redis:
+        # 地址
+        host: 192.168.1.222
+        # 端口,默认为6379
+        port: 6379
+        # 数据库索引
+        database: 0
+        # 密码
+        password: zhongzheng2021_redis
+        # 连接超时时间
+        timeout: 10s
+        lettuce:
+            pool:
+                # 连接池中的最小空闲连接
+                min-idle: 0
+                # 连接池中的最大空闲连接
+                max-idle: 8
+                # 连接池的最大数据库连接数
+                max-active: 8
+                # #连接池最大阻塞等待时间(使用负值表示没有限制)
+                max-wait: -1ms
+aliyun:
+    oss:
+        endpoint: https://file-dev.xyyxt.net # oss对外服务的访问域名
+        accessKeyId: LTAIgC8O2WUXvXuR  # 访问身份验证中用到用户标识
+        accessKeySecret: 1yyCazuT1M6MruBXzgFjP0p9gdMlwX # 用户用于加密签名字符串和oss用来验证签名字符串的密钥
+        bucketName: zhongzheng-test # oss的存储空间
+        policy:
+            expire: 30 # 签名有效期(S)
+        maxSize: 100 # 上传文件大小(M)
+        callback: http://120.79.166.78:19004/aliyun/oss/callback # 文件上传成功后的回调地址
+        dir:
+            prefix: oss/images/ # 上传文件夹路径前缀 `
+
+poliv:
+    token:
+        userid: d5f6d309fe
+        writetoken: 8f14a371-9d02-4ec1-922d-54d7b4f79dca
+        readtoken: f2c397b4-e2a3-46dc-9266-e6a43ac26a35
+        secretkey: xpPrYdcbA1
+
+wx:
+    small:
+        appid: wxd3c8ae80cf43a305
+        appsecret: 193a001ebfd46f227008a21e9d13e750
+    gzh:
+        appid: wx6f48f721d18244eb
+        appsecret: 2f8b2b4ff66e2f6adfb9f08ae22d7474
+    wepay:
+        mchid: 1342013901
+        key: GdXyPxYjZx1234123yJzXgDxYpXyjpx9
+        appsecret: GdXyPxYjZx1234123yJzXgDxYpXyjpx9
+        notifyUrl: http://42.192.164.187:19005/wx/pay/callback

+ 111 - 0
zhongzheng-api/src/main/resources/application-pre.yml

@@ -0,0 +1,111 @@
+# 数据源配置
+spring:
+    datasource:
+        type: com.alibaba.druid.pool.DruidDataSource
+        driverClassName: com.mysql.cj.jdbc.Driver
+        druid:
+            # 主库数据源
+            master:
+                url: jdbc:mysql://192.168.1.222:3306/zz_edu_saas?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
+                username: root
+                password: zhongzheng2021
+            # 从库数据源
+            slave:
+                # 从数据源开关/默认关闭
+                enabled: false
+                url:
+                username:
+                password:
+            # 初始连接数
+            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: ruoyi
+                login-password: 123456
+            filter:
+                stat:
+                    enabled: true
+                    # 慢SQL记录
+                    log-slow-sql: true
+                    slow-sql-millis: 1000
+                    merge-sql: true
+                wall:
+                    config:
+                        multi-statement-allow: true
+    # redis 配置
+    redis:
+        # 地址
+        host: 192.168.1.222
+        # 端口,默认为6379
+        port: 6379
+        # 数据库索引
+        database: 0
+        # 密码
+        password: zhongzheng2021_redis
+        # 连接超时时间
+        timeout: 10s
+        lettuce:
+            pool:
+                # 连接池中的最小空闲连接
+                min-idle: 0
+                # 连接池中的最大空闲连接
+                max-idle: 8
+                # 连接池的最大数据库连接数
+                max-active: 8
+                # #连接池最大阻塞等待时间(使用负值表示没有限制)
+                max-wait: -1ms
+aliyun:
+    oss:
+        endpoint: https://file-dev.xyyxt.net # oss对外服务的访问域名
+        accessKeyId: LTAIgC8O2WUXvXuR  # 访问身份验证中用到用户标识
+        accessKeySecret: 1yyCazuT1M6MruBXzgFjP0p9gdMlwX # 用户用于加密签名字符串和oss用来验证签名字符串的密钥
+        bucketName: zhongzheng-test # oss的存储空间
+        policy:
+            expire: 30 # 签名有效期(S)
+        maxSize: 100 # 上传文件大小(M)
+        callback: http://120.79.166.78:19004/aliyun/oss/callback # 文件上传成功后的回调地址
+        dir:
+            prefix: oss/images/ # 上传文件夹路径前缀 `
+poliv:
+    token:
+        userid: d5f6d309fe
+        writetoken: 8f14a371-9d02-4ec1-922d-54d7b4f79dca
+        readtoken: f2c397b4-e2a3-46dc-9266-e6a43ac26a35
+        secretkey: xpPrYdcbA1
+
+
+wx:
+    small:
+        appid: wxd3c8ae80cf43a305
+        appsecret: 193a001ebfd46f227008a21e9d13e750
+    gzh:
+        appid: wx6f48f721d18244eb
+        appsecret: 2f8b2b4ff66e2f6adfb9f08ae22d7474
+    wepay:
+        mchid: 1342013901
+        key: GdXyPxYjZx1234123yJzXgDxYpXyjpx9
+        appsecret: GdXyPxYjZx1234123yJzXgDxYpXyjpx9
+        notifyUrl: http://42.192.164.187:19005/wx/pay/callback