liangwenxuan 3 mēneši atpakaļ
revīzija
3f1579b172
100 mainītis faili ar 574 papildinājumiem un 0 dzēšanām
  1. 34 0
      .github/ISSUE_TEMPLATE/question.md
  2. 30 0
      .github/workflows/maven.yml
  3. 51 0
      .github/workflows/yudao-ui-admin.yml
  4. 54 0
      .gitignore
  5. BIN
      .image/Java监控.jpg
  6. BIN
      .image/MySQL.jpg
  7. BIN
      .image/OA请假-列表.jpg
  8. BIN
      .image/OA请假-发起.jpg
  9. BIN
      .image/OA请假-详情.jpg
  10. BIN
      .image/Redis.jpg
  11. BIN
      .image/admin-uniapp/01.png
  12. BIN
      .image/admin-uniapp/02.png
  13. BIN
      .image/admin-uniapp/03.png
  14. BIN
      .image/admin-uniapp/04.png
  15. BIN
      .image/admin-uniapp/05.png
  16. BIN
      .image/admin-uniapp/06.png
  17. BIN
      .image/admin-uniapp/07.png
  18. BIN
      .image/admin-uniapp/08.png
  19. BIN
      .image/admin-uniapp/09.png
  20. BIN
      .image/common/bpm-feature.png
  21. BIN
      .image/common/crm-feature.png
  22. BIN
      .image/common/erp-feature.png
  23. BIN
      .image/common/infra-feature.png
  24. BIN
      .image/common/mall-feature.png
  25. BIN
      .image/common/mall-preview.png
  26. BIN
      .image/common/project-vs.png
  27. BIN
      .image/common/ruoyi-vue-pro-architecture.png
  28. BIN
      .image/common/ruoyi-vue-pro-biz.png
  29. BIN
      .image/common/system-feature.png
  30. BIN
      .image/common/yudao-cloud-architecture.png
  31. BIN
      .image/common/yudao-roadmap.png
  32. BIN
      .image/个人中心.jpg
  33. BIN
      .image/代码生成.jpg
  34. BIN
      .image/令牌管理.jpg
  35. BIN
      .image/任务列表-审批.jpg
  36. BIN
      .image/任务列表-已办.jpg
  37. BIN
      .image/任务列表-待办.jpg
  38. BIN
      .image/任务日志.jpg
  39. BIN
      .image/商户信息.jpg
  40. BIN
      .image/在线用户.jpg
  41. BIN
      .image/大屏设计器-列表.jpg
  42. BIN
      .image/大屏设计器-编辑.jpg
  43. BIN
      .image/大屏设计器-预览.jpg
  44. BIN
      .image/字典数据.jpg
  45. BIN
      .image/字典类型.jpg
  46. BIN
      .image/定时任务.jpg
  47. BIN
      .image/岗位管理.jpg
  48. BIN
      .image/应用信息-列表.jpg
  49. BIN
      .image/应用信息-编辑.jpg
  50. BIN
      .image/应用管理.jpg
  51. BIN
      .image/我的流程-列表.jpg
  52. BIN
      .image/我的流程-发起.jpg
  53. BIN
      .image/我的流程-详情.jpg
  54. BIN
      .image/报表设计器-图形报表.jpg
  55. BIN
      .image/报表设计器-打印设计.jpg
  56. BIN
      .image/报表设计器-数据报表.jpg
  57. BIN
      .image/操作日志.jpg
  58. BIN
      .image/支付订单.jpg
  59. BIN
      .image/敏感词.jpg
  60. BIN
      .image/数据库文档.jpg
  61. BIN
      .image/文件管理.jpg
  62. BIN
      .image/文件管理2.jpg
  63. BIN
      .image/文件配置.jpg
  64. BIN
      .image/日志中心.jpg
  65. BIN
      .image/流程模型-列表.jpg
  66. BIN
      .image/流程模型-定义.jpg
  67. BIN
      .image/流程模型-设计.jpg
  68. BIN
      .image/流程表单.jpg
  69. BIN
      .image/生成效果.jpg
  70. BIN
      .image/用户分组.jpg
  71. BIN
      .image/用户管理.jpg
  72. BIN
      .image/登录.jpg
  73. BIN
      .image/登录日志.jpg
  74. BIN
      .image/短信日志.jpg
  75. BIN
      .image/短信模板.jpg
  76. BIN
      .image/短信渠道.jpg
  77. BIN
      .image/租户套餐.png
  78. BIN
      .image/租户管理.jpg
  79. BIN
      .image/系统接口.jpg
  80. BIN
      .image/菜单管理.jpg
  81. BIN
      .image/表单构建.jpg
  82. BIN
      .image/角色管理.jpg
  83. BIN
      .image/访问日志.jpg
  84. BIN
      .image/退款订单.jpg
  85. BIN
      .image/通知公告.jpg
  86. BIN
      .image/部门管理.jpg
  87. BIN
      .image/配置管理.jpg
  88. BIN
      .image/链路追踪.jpg
  89. BIN
      .image/错误日志.jpg
  90. BIN
      .image/错误码管理.jpg
  91. BIN
      .image/首页.jpg
  92. 20 0
      LICENSE
  93. 4 0
      lombok.config
  94. 0 0
      patch
  95. 143 0
      pom.xml
  96. 49 0
      script/docker/Docker-HOWTO.md
  97. 84 0
      script/docker/docker-compose.yml
  98. 25 0
      script/docker/docker.env
  99. 20 0
      script/idea/http-client.env.json
  100. 60 0
      script/jenkins/Jenkinsfile

+ 34 - 0
.github/ISSUE_TEMPLATE/question.md

@@ -0,0 +1,34 @@
+---
+name: 问题反馈
+about: 请详细描述,以便更高快的获得到解决
+title: ''
+labels: ''
+assignees: ''
+
+---
+
+碰到问题,请在 <https://github.com/YunaiV/ruoyi-vue-pro/issues> 搜索是否存在相似的 issue。
+
+不按照模板提交的 issue,会被系统自动删除。
+
+### 基本信息
+
+- ruoyi-vue-pro 版本:
+- 操作系统:
+- 数据库:
+
+### 你猜测可能的原因
+
+(必填)我花费了 2-4 小时自查,发现可能的原因是:xxxxxx
+
+### 复现步骤
+
+第一步,
+
+第二步,
+
+第三步,
+
+### 报错信息
+
+带上必要的截图

+ 30 - 0
.github/workflows/maven.yml

@@ -0,0 +1,30 @@
+# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
+# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
+
+name: Java CI with Maven
+
+on:
+  push:
+    branches: [ master ]
+  # pull_request:
+  #   branches: [ master ]
+
+jobs:
+  build:
+
+    runs-on: ubuntu-latest
+
+    strategy:
+      matrix:
+        java: [ '8', '11', '17' ]
+
+    steps:
+    - uses: actions/checkout@v2
+    - name: Set up JDK ${{ matrix.Java }}
+      uses: actions/setup-java@v2
+      with:
+        java-version: ${{ matrix.java }}
+        distribution: 'temurin'
+        cache: maven
+    - name: Build with Maven
+      run: mvn -B package --file pom.xml -Dmaven.test.skip=true

+ 51 - 0
.github/workflows/yudao-ui-admin.yml

@@ -0,0 +1,51 @@
+name: yudao-ui-admin CI
+
+# 在master分支发生push事件时触发。
+on:
+  push:
+    branches: [ master ]
+  # pull_request:
+  #   branches: [ master ]
+env: # 设置环境变量
+  TZ: Asia/Shanghai # 时区(设置时区可使页面中的`最近更新时间`使用时区时间)
+  WORK_DIR: yudao-ui-admin #工作目录
+
+defaults:
+  run:
+    shell: bash
+    working-directory: yudao-ui-admin
+
+jobs:
+  build: # 自定义名称
+    runs-on: ubuntu-latest # 运行在虚拟机环境ubuntu-latest
+
+    strategy:
+      matrix:
+        node_version: [14.x, 16.x]
+        # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
+
+    steps:
+      - name: Checkout # 步骤1
+        uses: actions/checkout@v2 # 使用的动作。格式:userName/repoName。作用:检出仓库,获取源码。 官方actions库:https://github.com/actions
+      
+      - name: Install pnpm
+        uses: pnpm/action-setup@v2.0.1
+        with:
+          version: 6.15.1
+
+      - name: Set node version to ${{ matrix.node_version }}
+        uses: actions/setup-node@v2
+        with:
+          node-version: ${{ matrix.node_version }}
+          cache: "yarn"
+          cache-dependency-path: yudao-ui-admin/yarn.lock
+
+      - name: Install deps
+        run: node --version && yarn --version && yarn install
+
+      - name: Build
+        run: yarn build:prod
+  
+      # 查看 workflow 的文档来获取更多信息
+      # @see https://github.com/crazy-max/ghaction-github-pages
+

+ 54 - 0
.gitignore

@@ -0,0 +1,54 @@
+######################################################################
+# Build Tools
+
+.gradle
+/build/
+!gradle/wrapper/gradle-wrapper.jar
+
+target/
+!.mvn/wrapper/maven-wrapper.jar
+
+.flattened-pom.xml
+
+######################################################################
+# IDE
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+*.gitee
+
+### NetBeans ###
+nbproject/private/
+build/*
+nbbuild/
+dist/
+nbdist/
+.nb-gradle/
+
+######################################################################
+# Others
+*.log
+*.xml.versionsBackup
+*.swp
+
+!*/build/*.java
+!*/build/*.html
+!*/build/*.xml
+
+### JRebel ###
+rebel.xml
+
+application-my.yaml
+
+/yudao-ui-app/unpackage/

BIN
.image/Java监控.jpg


BIN
.image/MySQL.jpg


BIN
.image/OA请假-列表.jpg


BIN
.image/OA请假-发起.jpg


BIN
.image/OA请假-详情.jpg


BIN
.image/Redis.jpg


BIN
.image/admin-uniapp/01.png


BIN
.image/admin-uniapp/02.png


BIN
.image/admin-uniapp/03.png


BIN
.image/admin-uniapp/04.png


BIN
.image/admin-uniapp/05.png


BIN
.image/admin-uniapp/06.png


BIN
.image/admin-uniapp/07.png


BIN
.image/admin-uniapp/08.png


BIN
.image/admin-uniapp/09.png


BIN
.image/common/bpm-feature.png


BIN
.image/common/crm-feature.png


BIN
.image/common/erp-feature.png


BIN
.image/common/infra-feature.png


BIN
.image/common/mall-feature.png


BIN
.image/common/mall-preview.png


BIN
.image/common/project-vs.png


BIN
.image/common/ruoyi-vue-pro-architecture.png


BIN
.image/common/ruoyi-vue-pro-biz.png


BIN
.image/common/system-feature.png


BIN
.image/common/yudao-cloud-architecture.png


BIN
.image/common/yudao-roadmap.png


BIN
.image/个人中心.jpg


BIN
.image/代码生成.jpg


BIN
.image/令牌管理.jpg


BIN
.image/任务列表-审批.jpg


BIN
.image/任务列表-已办.jpg


BIN
.image/任务列表-待办.jpg


BIN
.image/任务日志.jpg


BIN
.image/商户信息.jpg


BIN
.image/在线用户.jpg


BIN
.image/大屏设计器-列表.jpg


BIN
.image/大屏设计器-编辑.jpg


BIN
.image/大屏设计器-预览.jpg


BIN
.image/字典数据.jpg


BIN
.image/字典类型.jpg


BIN
.image/定时任务.jpg


BIN
.image/岗位管理.jpg


BIN
.image/应用信息-列表.jpg


BIN
.image/应用信息-编辑.jpg


BIN
.image/应用管理.jpg


BIN
.image/我的流程-列表.jpg


BIN
.image/我的流程-发起.jpg


BIN
.image/我的流程-详情.jpg


BIN
.image/报表设计器-图形报表.jpg


BIN
.image/报表设计器-打印设计.jpg


BIN
.image/报表设计器-数据报表.jpg


BIN
.image/操作日志.jpg


BIN
.image/支付订单.jpg


BIN
.image/敏感词.jpg


BIN
.image/数据库文档.jpg


BIN
.image/文件管理.jpg


BIN
.image/文件管理2.jpg


BIN
.image/文件配置.jpg


BIN
.image/日志中心.jpg


BIN
.image/流程模型-列表.jpg


BIN
.image/流程模型-定义.jpg


BIN
.image/流程模型-设计.jpg


BIN
.image/流程表单.jpg


BIN
.image/生成效果.jpg


BIN
.image/用户分组.jpg


BIN
.image/用户管理.jpg


BIN
.image/登录.jpg


BIN
.image/登录日志.jpg


BIN
.image/短信日志.jpg


BIN
.image/短信模板.jpg


BIN
.image/短信渠道.jpg


BIN
.image/租户套餐.png


BIN
.image/租户管理.jpg


BIN
.image/系统接口.jpg


BIN
.image/菜单管理.jpg


BIN
.image/表单构建.jpg


BIN
.image/角色管理.jpg


BIN
.image/访问日志.jpg


BIN
.image/退款订单.jpg


BIN
.image/通知公告.jpg


BIN
.image/部门管理.jpg


BIN
.image/配置管理.jpg


BIN
.image/链路追踪.jpg


BIN
.image/错误日志.jpg


BIN
.image/错误码管理.jpg


BIN
.image/首页.jpg


+ 20 - 0
LICENSE

@@ -0,0 +1,20 @@
+The MIT License (MIT)
+
+Copyright (c) 2021 ruoyi-vue-pro
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+ 4 - 0
lombok.config

@@ -0,0 +1,4 @@
+config.stopBubbling = true
+lombok.tostring.callsuper=CALL
+lombok.equalsandhashcode.callsuper=CALL
+lombok.accessors.chain=true

+ 0 - 0
patch


+ 143 - 0
pom.xml

@@ -0,0 +1,143 @@
+<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>cn.iocoder.boot</groupId>
+    <artifactId>yudao</artifactId>
+    <version>${revision}</version>
+    <packaging>pom</packaging>
+    <modules>
+        <module>yudao-dependencies</module>
+        <module>yudao-framework</module>
+        <!-- Server 主项目 -->
+        <module>yudao-server</module>
+        <!-- 各种 module 拓展 -->
+        <module>yudao-module-system</module>
+        <module>yudao-module-infra</module>
+        <module>yudao-module-member</module>
+        <module>yudao-module-bpm</module>
+        <module>yudao-module-report</module>
+    </modules>
+
+    <name>${project.artifactId}</name>
+    <description>芋道项目基础脚手架</description>
+    <url>https://github.com/YunaiV/ruoyi-vue-pro</url>
+
+    <properties>
+        <revision>2.1.0-jdk8-snapshot</revision>
+        <!-- Maven 相关 -->
+        <java.version>1.8</java.version>
+        <maven.compiler.source>${java.version}</maven.compiler.source>
+        <maven.compiler.target>${java.version}</maven.compiler.target>
+        <maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
+        <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
+        <flatten-maven-plugin.version>1.5.0</flatten-maven-plugin.version>
+        <!-- 看看咋放到 bom 里 -->
+        <lombok.version>1.18.30</lombok.version>
+        <spring.boot.version>2.7.18</spring.boot.version>
+        <mapstruct.version>1.5.5.Final</mapstruct.version>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <skipTests>true</skipTests>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>cn.iocoder.boot</groupId>
+                <artifactId>yudao-dependencies</artifactId>
+                <version>${revision}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <build>
+        <pluginManagement>
+            <plugins>
+                <!-- maven-surefire-plugin 插件,用于运行单元测试。 -->
+                <!-- 注意,需要使用 3.0.X+,因为要支持 Junit 5 版本 -->
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-surefire-plugin</artifactId>
+                    <version>${maven-surefire-plugin.version}</version>
+                </plugin>
+                <!-- maven-compiler-plugin 插件,解决 spring-boot-configuration-processor + Lombok + MapStruct 组合 -->
+                <!-- https://stackoverflow.com/questions/33483697/re-run-spring-boot-configuration-annotation-processor-to-update-generated-metada -->
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-compiler-plugin</artifactId>
+                    <version>${maven-compiler-plugin.version}</version>
+                    <configuration>
+                        <annotationProcessorPaths>
+                            <path>
+                                <groupId>org.springframework.boot</groupId>
+                                <artifactId>spring-boot-configuration-processor</artifactId>
+                                <version>${spring.boot.version}</version>
+                            </path>
+                            <path>
+                                <groupId>org.projectlombok</groupId>
+                                <artifactId>lombok</artifactId>
+                                <version>${lombok.version}</version>
+                            </path>
+                            <path>
+                                <groupId>org.mapstruct</groupId>
+                                <artifactId>mapstruct-processor</artifactId>
+                                <version>${mapstruct.version}</version>
+                            </path>
+                        </annotationProcessorPaths>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>flatten-maven-plugin</artifactId>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+
+        <plugins>
+            <!-- 统一 revision 版本 -->
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>flatten-maven-plugin</artifactId>
+                <version>${flatten-maven-plugin.version}</version>
+                <configuration>
+                    <flattenMode>resolveCiFriendliesOnly</flattenMode>
+                    <updatePomFile>true</updatePomFile>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>flatten</goal>
+                        </goals>
+                        <id>flatten</id>
+                        <phase>process-resources</phase>
+                    </execution>
+                    <execution>
+                        <goals>
+                            <goal>clean</goal>
+                        </goals>
+                        <id>flatten.clean</id>
+                        <phase>clean</phase>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <!-- 使用 huawei / aliyun 的 Maven 源,提升下载速度 -->
+<!--    <repositories>-->
+<!--        <repository>-->
+<!--            <id>huaweicloud</id>-->
+<!--            <name>huawei</name>-->
+<!--            <url>https://mirrors.huaweicloud.com/repository/maven/</url>-->
+<!--        </repository>-->
+<!--        <repository>-->
+<!--            <id>aliyunmaven</id>-->
+<!--            <name>aliyun</name>-->
+<!--            <url>https://maven.aliyun.com/repository/public</url>-->
+<!--        </repository>-->
+<!--    </repositories>-->
+
+</project>

+ 49 - 0
script/docker/Docker-HOWTO.md

@@ -0,0 +1,49 @@
+# Docker Build & Up
+
+目标: 快速部署体验系统,帮助了解系统之间的依赖关系。
+依赖:docker compose v2,删除`name: yudao-system`,降低`version`版本为`3.3`以下,支持`docker-compose`。
+
+## 功能文件列表
+
+```text
+.
+├── Docker-HOWTO.md                 
+├── docker-compose.yml              
+├── docker.env                      <-- 提供docker-compose环境变量配置
+├── yudao-server
+│   └── Dockerfile
+└── yudao-ui-admin
+    ├── .dockerignore
+    ├── Dockerfile
+    └── nginx.conf                  <-- 提供基础配置,gzip压缩、api转发
+```
+
+## 构建 jar 包
+
+```shell
+# 创建maven缓存volume
+docker volume create --name yudao-maven-repo
+
+docker run -it --rm --name yudao-maven \
+    -v yudao-maven-repo:/root/.m2 \
+    -v $PWD:/usr/src/mymaven \
+    -w /usr/src/mymaven \
+    maven mvn clean install package '-Dmaven.test.skip=true'
+```
+
+## 构建启动服务
+
+```shell
+docker compose --env-file docker.env up -d
+```
+
+首次运行会自动构建容器。可以通过`docker compose build [service]`来手动构建所有或某个docker镜像
+
+`--env-file docker.env`为可选参数,只是展示了通过`.env`文件配置容器启动的环境变量,`docker-compose.yml`本身已经提供足够的默认参数来正常运行系统。
+
+## 服务器的宿主机端口映射
+
+- admin ui: http://localhost:8080
+- api server: http://localhost:48080
+- mysql: root/123456, port: 3306
+- redis: port: 6379

+ 84 - 0
script/docker/docker-compose.yml

@@ -0,0 +1,84 @@
+version: "3.4"
+
+name: yudao-system
+
+services:
+  mysql:
+    container_name: yudao-mysql
+    image: mysql:8
+    restart: unless-stopped
+    tty: true
+    ports:
+      - "3306:3306"
+    environment:
+      MYSQL_DATABASE: ${MYSQL_DATABASE:-ruoyi-vue-pro}
+      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-123456}
+    volumes:
+      - mysql:/var/lib/mysql/
+      - ./sql/mysql/ruoyi-vue-pro.sql:/docker-entrypoint-initdb.d/ruoyi-vue-pro.sql:ro
+
+  redis:
+    container_name: yudao-redis
+    image: redis:6-alpine
+    restart: unless-stopped
+    ports:
+      - "6379:6379"
+    volumes:
+      - redis:/data
+
+  server:
+    container_name: yudao-server
+    build:
+      context: ./yudao-server/
+    image: yudao-server
+    restart: unless-stopped
+    ports:
+      - "48080:48080"
+    environment:
+      # https://github.com/polovyivan/docker-pass-configs-to-container
+      SPRING_PROFILES_ACTIVE: local
+      JAVA_OPTS:
+        ${JAVA_OPTS:-
+          -Xms512m
+          -Xmx512m
+          -Djava.security.egd=file:/dev/./urandom
+        }
+      ARGS:
+        --spring.datasource.dynamic.datasource.master.url=${MASTER_DATASOURCE_URL:-jdbc:mysql://yudao-mysql:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
+        --spring.datasource.dynamic.datasource.master.username=${MASTER_DATASOURCE_USERNAME:-root}
+        --spring.datasource.dynamic.datasource.master.password=${MASTER_DATASOURCE_PASSWORD:-123456}
+        --spring.datasource.dynamic.datasource.slave.url=${SLAVE_DATASOURCE_URL:-jdbc:mysql://yudao-mysql:3306/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true}
+        --spring.datasource.dynamic.datasource.slave.username=${SLAVE_DATASOURCE_USERNAME:-root}
+        --spring.datasource.dynamic.datasource.slave.password=${SLAVE_DATASOURCE_PASSWORD:-123456}
+        --spring.redis.host=${REDIS_HOST:-yudao-redis}
+    depends_on:
+      - mysql
+      - redis
+
+  admin:
+    container_name: yudao-admin
+    build:
+      context: ./yudao-ui-admin
+      args:
+        NODE_ENV:
+          ENV=${NODE_ENV:-production}
+          PUBLIC_PATH=${PUBLIC_PATH:-/}
+          VUE_APP_TITLE=${VUE_APP_TITLE:-芋道管理系统}
+          VUE_APP_BASE_API=${VUE_APP_BASE_API:-/prod-api}
+          VUE_APP_APP_NAME=${VUE_APP_APP_NAME:-/}
+          VUE_APP_TENANT_ENABLE=${VUE_APP_TENANT_ENABLE:-true}
+          VUE_APP_CAPTCHA_ENABLE=${VUE_APP_CAPTCHA_ENABLE:-true}
+          VUE_APP_DOC_ENABLE=${VUE_APP_DOC_ENABLE:-true}
+          VUE_APP_BAIDU_CODE=${VUE_APP_BAIDU_CODE:-fadc1bd5db1a1d6f581df60a1807f8ab}
+    image: yudao-admin
+    restart: unless-stopped
+    ports:
+      - "8080:80"
+    depends_on:
+      - server
+
+volumes:
+  mysql:
+    driver: local
+  redis:
+    driver: local

+ 25 - 0
script/docker/docker.env

@@ -0,0 +1,25 @@
+## mysql
+MYSQL_DATABASE=ruoyi-vue-pro
+MYSQL_ROOT_PASSWORD=123456
+
+## server
+JAVA_OPTS=-Xms512m -Xmx512m -Djava.security.egd=file:/dev/./urandom
+
+MASTER_DATASOURCE_URL=jdbc:mysql://yudao-mysql:3306/${MYSQL_DATABASE}?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true
+MASTER_DATASOURCE_USERNAME=root
+MASTER_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD}
+SLAVE_DATASOURCE_URL=${MASTER_DATASOURCE_URL}
+SLAVE_DATASOURCE_USERNAME=${MASTER_DATASOURCE_USERNAME}
+SLAVE_DATASOURCE_PASSWORD=${MASTER_DATASOURCE_PASSWORD}
+REDIS_HOST=yudao-redis
+
+## admin
+NODE_ENV=production
+PUBLIC_PATH=/
+VUE_APP_TITLE=芋道管理系统
+VUE_APP_BASE_API=/prod-api
+VUE_APP_APP_NAME=/
+VUE_APP_TENANT_ENABLE=true
+VUE_APP_CAPTCHA_ENABLE=true
+VUE_APP_DOC_ENABLE=true
+VUE_APP_BAIDU_CODE=fadc1bd5db1a1d6f581df60a1807f8ab

+ 20 - 0
script/idea/http-client.env.json

@@ -0,0 +1,20 @@
+{
+  "local": {
+    "baseUrl": "http://127.0.0.1:48080/admin-api",
+    "token": "test1",
+    "adminTenentId": "1",
+
+    "appApi": "http://127.0.0.1:48080/app-api",
+    "appToken": "test247",
+    "appTenentId": "1"
+  },
+  "gateway": {
+    "baseUrl": "http://127.0.0.1:8888/admin-api",
+    "token": "test1",
+    "adminTenentId": "1",
+
+    "appApi": "http://127.0.0.1:8888/app-api",
+    "appToken": "test1",
+    "appTenantId": "1"
+  }
+}

+ 60 - 0
script/jenkins/Jenkinsfile

@@ -0,0 +1,60 @@
+#!groovy
+pipeline {
+
+    agent any
+
+    parameters {
+        string(name: 'TAG_NAME', defaultValue: '', description: '')
+    }
+
+    environment {
+        // DockerHub 凭证 ID(登录您的 DockerHub)
+        DOCKER_CREDENTIAL_ID = 'dockerhub-id'
+        //  GitHub 凭证 ID (推送 tag 到 GitHub 仓库)
+        GITHUB_CREDENTIAL_ID = 'github-id'
+        // kubeconfig 凭证 ID (访问接入正在运行的 Kubernetes 集群)
+        KUBECONFIG_CREDENTIAL_ID = 'demo-kubeconfig'
+        // 镜像的推送
+        REGISTRY = 'docker.io'
+        //  DockerHub 账号名
+        DOCKERHUB_NAMESPACE = 'docker_username'
+        // GitHub 账号名
+        GITHUB_ACCOUNT = 'https://gitee.com/zhijiantianya/ruoyi-vue-pro'
+        // 应用名称
+        APP_NAME = 'yudao-server'
+        // 应用部署路径
+        APP_DEPLOY_BASE_DIR = '/media/pi/KINGTON/data/work/projects/'
+    }
+
+    stages {
+        stage('检出') {
+            steps {
+                git url: "https://gitee.com/will-we/ruoyi-vue-pro.git",
+                        branch: "devops"
+            }
+        }
+
+        stage('构建') {
+            steps {
+                // TODO 解决多环境链接、密码不同配置临时方案
+                sh 'if [ ! -d "' + "${env.HOME}" + '/resources" ];then\n' +
+                        '  echo "配置文件不存在无需修改"\n' +
+                        'else\n' +
+                        '  cp  -rf  ' + "${env.HOME}" + '/resources/*.yaml ' + "${env.APP_NAME}" + '/src/main/resources\n' +
+                        '  echo "配置文件替换"\n' +
+                        'fi'
+                sh 'mvn clean package -Dmaven.test.skip=true'
+            }
+        }
+
+        stage('部署') {
+            steps {
+                sh 'cp -f ' + ' bin/deploy.sh ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}"
+                sh 'cp -f ' + "${env.APP_NAME}" + '/target/*.jar ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}" +'/build/'
+                archiveArtifacts "${env.APP_NAME}" + '/target/*.jar'
+                sh 'chmod +x ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}" + '/deploy.sh'
+                sh 'bash ' + "${env.APP_DEPLOY_BASE_DIR}" + "${env.APP_NAME}" + '/deploy.sh'
+            }
+        }
+    }
+}

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels