Ver código fonte

update README.md

reghao 1 ano atrás
pai
commit
ae38b8874d
9 arquivos alterados com 136 adições e 30 exclusões
  1. 59 0
      README.md
  2. 0 6
      oss-store/bin/start.sh
  3. 11 0
      oss-store/bin/start1.sh
  4. 5 0
      oss-store/bin/start2.sh
  5. 0 24
      zzz/build.sh
  6. 23 0
      zzz/build_image.sh
  7. 17 0
      zzz/build_jar.sh
  8. 21 0
      zzz/init_schema.sh
  9. 0 0
      zzz/store_init.sql

+ 59 - 0
README.md

@@ -11,6 +11,8 @@
 oss 项目模块:
 - oss-api
 - oss-sdk
+> 可看作 oss 的 client, 第三方使用引入此包可对 oss 中的数据进行操作
+> > 和 [aliyun-oss-java-sdk](https://github.com/aliyun/aliyun-oss-java-sdk) 类似
 - oss-store
 > 监听 4010 HTTP 端口和 14010 RPC 端口
 > 
@@ -29,3 +31,60 @@ oss-console 和 oss-store 之间的关系如下图所示:
 > > 在 store 的配置文件中指定 mgr 的地址
 >
 > 只能部署一个 console 实例
+
+## 初始化 MySQL
+- 1.oss/zzz/oss_init.sql 文件是系统的初始数据
+- 2.执行 oss/zzz/init_schema.sh 脚本可完成数据库的创建和初始化
+> 需要自行指定脚本中的 host, username, password, db 等变量值
+- 3.然后可以开始构建和部署系统
+
+## 构建
+### 构建 jar 包
+- 1.使用 cd 命令切换到 oss/zzz 目录
+- 2.执行 build_jar.sh 脚本
+> 需要自行设置 proj_dir 变量的值
+- 3.构建完成后, 生成的 jar 包会存放在 oss/oss-store/bin 目录中
+
+### 构建 docker 镜像
+- 1.使用 cd 命令切换到 oss/zzz 目录
+- 2.执行 build_image.sh 脚本
+> 需要自行设置 proj_dir 变量的值
+- 3.构建完成后, 使用 docker images | grep 'oss-store' 命令查看生成的镜像
+
+## 部署
+oss-store 应用强依赖 oss-console, 必须先启动 oss-console 后再启动 oss-store
+
+### jar 包
+部署 oss-store 流程:
+- 1.修改 oss/oss-store/bin/oss.yml 文件中的配置
+> mysql 配置
+> 
+> server.tomcat.basedir
+> > tomcat 服务器使用的临时目录, 不应将此目录设置到文件存储所在的磁盘
+> 
+> oss.storeHost
+> > oss-store 所部署机器的 IP 地址
+> 
+> oss.diskDirs
+> > 存储文件使用的位置, 每个位置都必须是一块独立的磁盘, 推荐将单块磁盘挂载到此位置
+> >
+> 
+> oss.consoleHost
+> > oss-console 所部署机器的 IP 地址
+> 
+- 2.使用 cd 命令切换到 oss/oss-store/bin 目录
+- 3.执行 start1.sh 脚本
+> 如果不使用 oss.yml 配置, 则执行 start2.sh 脚本
+
+### docker 镜像
+```
+docker run -d --name=bntweb --network=host \
+-v /opt/disk/1:/opt/disk/1 \
+reghao/oss-store:12345678
+```
+> 自行指定生成的 image
+> > image 格式是 REPOSITORY:TAG
+>
+> 使用 -v 将 host 目录挂载到容器目录
+> 
+> docker 镜像使用 resources/application-test.yml 配置

+ 0 - 6
oss-store/bin/start.sh

@@ -1,6 +0,0 @@
-#!/bin/bash
-
-app_dir=`pwd`
-app_name='oss-store.jar'
-# 使用 mvn clean package -Dmaven.test.skip 生成的 jar 运行时加载 application.yml 和 oss.yml 两个配置文件, 分别位于 classpath 和文件系统路径
-java -jar ${app_dir}"/"${app_name} --spring.config.location=classpath:/application.yml,file:${app_dir}/oss.yml > console.log 2>&1 &

+ 11 - 0
oss-store/bin/start1.sh

@@ -0,0 +1,11 @@
+#!/bin/bash
+
+app_dir=`pwd`
+app_name='oss-store.jar'
+
+# 使用 mvn clean package -Dmaven.test.skip -Ptest 生成 jar
+# 运行时加载 application.yml 和 oss.yml 两个配置文件, 分别位于 classpath 和文件系统路径
+# 外部指定的 oss.yml 文件会覆盖 resources/application-test.yml 文件
+java -jar ${app_dir}"/"${app_name} \
+--spring.config.location=classpath:/application.yml,file:${app_dir}/oss.yml \
+> console.log 2>&1 &

+ 5 - 0
oss-store/bin/start2.sh

@@ -0,0 +1,5 @@
+#!/bin/bash
+
+app_dir=`pwd`
+app_name='oss-store.jar'
+java -jar ${app_dir}"/"${app_name} > console.log 2>&1 &

+ 0 - 24
zzz/build.sh

@@ -1,24 +0,0 @@
-#!/bin/bash
-
-cd /home/reghao/code/java/oss/store-api/
-mvn clean install -Dmaven.test.skip
-#mvn clean deploy -Dmaven.test.skip
-mvn clean
-
-cd /home/reghao/code/java/oss/oss-sdk/
-mvn clean install -Dmaven.test.skip
-#mvn clean deploy -Dmaven.test.skip
-mvn clean
-
-cd /home/reghao/code/java/oss/oss-store/
-mvn clean package -Dmaven.test.skip
-mvn clean
-
-cd /home/reghao/code/java/oss/oss-console/
-mvn clean package -Dmaven.test.skip
-docker build -t oss-console .
-mvn clean
-
-mvn clean install -Dmaven.test.skip=true -am -pl oss-api
-mvn clean install -Dmaven.test.skip=true -am -pl oss-sdk
-mvn clean package -Dmaven.test.skip=true -am -pl oss-store

+ 23 - 0
zzz/build_image.sh

@@ -0,0 +1,23 @@
+#!/bin/bash
+
+###############################################################################
+# 构建 oss-store 应用的 docker 镜像
+###############################################################################
+
+set -e
+
+git clone https://git.reghao.cn/reghao/jutil
+cd jutil
+mvn install package -Dmaven.test.skip=true
+
+proj_dir = '/a/b/c/oss'
+cd ${proj_dir}
+commit_id=`git rev-parse HEAD | cut -c 1-8`
+docker_prefix='reghao/oss-store'
+
+mvn clean install -Dmaven.test.skip=true -am -pl oss-api
+mvn clean install -Dmaven.test.skip=true -am -pl oss-sdk
+mvn clean package -Dmaven.test.skip=true -am -pl oss-store -Ptest
+
+cd ${proj_dir}/oss-store
+docker build -t ${docker_prefix}:${commit_id} .

+ 17 - 0
zzz/build_jar.sh

@@ -0,0 +1,17 @@
+#!/bin/bash
+
+###############################################################################
+# 构建 oss-store 应用的 jar 包
+###############################################################################
+
+set -e
+
+git clone https://git.reghao.cn/reghao/jutil
+cd jutil
+mvn install package -Dmaven.test.skip=true
+
+proj_dir = '/a/b/c/oss'
+cd ${proj_dir}
+mvn clean install -Dmaven.test.skip=true -am -pl oss-api
+mvn clean install -Dmaven.test.skip=true -am -pl oss-sdk
+mvn clean package -Dmaven.test.skip=true -am -pl oss-store -Ptest

+ 21 - 0
zzz/init_schema.sh

@@ -0,0 +1,21 @@
+#!/bin/bash
+
+###############################################################################
+# 创建和初始化数据库
+###############################################################################
+
+set -e
+
+host='192.168.0.112'
+username='test'
+password='Test@123456'
+db=oss_db
+
+sql="CREATE DATABASE `${db}` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_bin;"
+
+mysql -h${host} -u${username} -p${password} << EOF
+${sql}
+use ${db}
+source ./store_init.sql;
+EOF
+exit;

+ 0 - 0
zzz/store_init.sql