Release version 1.0.3
This commit is contained in:
parent
a1f168b298
commit
bffc45535d
38
CHANGELOG
38
CHANGELOG
@ -21,6 +21,44 @@
|
||||
6. readme.md 修改 eyeblue/tank:1.0.2
|
||||
eyeblue/tank:x.x.x
|
||||
|
||||
|
||||
## 新版本发布流程
|
||||
1.docker版本的发布。[参考](https://blog.eyeblue.cn/home/article/510f9316-9ca1-40fe-b1b3-5285505a527d)
|
||||
|
||||
```
|
||||
cd tank根目录
|
||||
# 停止旧版本,并删除旧版本
|
||||
docker container stop xxx
|
||||
docker container prune
|
||||
# 构建新版本 (最后的.不能少)
|
||||
docker build -t eyeblue/tank:x.x.x .
|
||||
# 本地测试
|
||||
docker-compose up -d
|
||||
# 没问题后,推送到远程
|
||||
docker push eyeblue/tank:x.x.x
|
||||
```
|
||||
|
||||
2.linux版本的发布。
|
||||
|
||||
a. 执行`src/tank/build/pack/build.sh`脚本
|
||||
b. 上传 tank-x.x.x.linux-amd64.tar.gz 到蓝眼云盘
|
||||
c. 在github上发布新版本。
|
||||
|
||||
3.windows版本发布
|
||||
|
||||
a. 执行`src/tank/build/pack/build.bat`脚本
|
||||
b. 上传 tank-x.x.x.windows-x86_64.zip 到蓝眼云盘
|
||||
c. 在github上发布新版本。
|
||||
|
||||
|
||||
|
||||
2018-04-12
|
||||
tank-1.0.3
|
||||
1. 添加了多文件同时上传的功能.
|
||||
2. 开发情况下有可能上传的文件路径没有权限,添加了更多提示.
|
||||
|
||||
|
||||
|
||||
2018-01-19
|
||||
tank-1.0.2
|
||||
1. 修复了下载时无法估算文件大小的bug,header头重添加了Content-Type. [#2](https://github.com/eyebluecn/tank/issues/2)
|
||||
|
@ -90,7 +90,7 @@ services:
|
||||
# 蓝眼云盘的镜像信息
|
||||
# 依赖 mysql:5.7 的镜像
|
||||
tank:
|
||||
image: eyeblue/tank:1.0.2
|
||||
image: eyeblue/tank:1.0.3
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
@ -145,7 +145,7 @@ $ docker-compose stop
|
||||
$ docker container ls
|
||||
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
f5f64735fc53 eyeblue/tank:1.0.2 "/go/bin/tank" 20 minutes ago Up 13 seconds 0.0.0.0:6010->6010/tcp tank_tank_1
|
||||
f5f64735fc53 eyeblue/tank:1.0.3 "/go/bin/tank" 20 minutes ago Up 13 seconds 0.0.0.0:6010->6010/tcp tank_tank_1
|
||||
3a859cad3e7e mysql:5.7 "docker-entrypoint.s…" 20 minutes ago Up 14 seconds 3306/tcp tank_db_1
|
||||
|
||||
$ docker container stop f5
|
||||
|
@ -1 +1 @@
|
||||
<!DOCTYPE html><html><head><title>蓝眼云盘</title><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><meta name=renderer content=webkit><meta name=viewport content="user-scalable=no,width=device-width,initial-scale=1,maximum-scale=1"><meta name=msapplication-tap-highlight content=no><meta name=apple-mobile-web-app-capable content=yes><link rel="shortcut icon" href=/favicon.ico><link href=/static/css/app.e67bf66a3b64f1b45ec496faae765128.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.d1c45733b853efcc663e.js></script><script type=text/javascript src=/static/js/vendor.98c0538b97a360a7756e.js></script><script type=text/javascript src=/static/js/app.92616146a617842e8ca0.js></script></body></html>
|
||||
<!DOCTYPE html><html><head><title>蓝眼云盘</title><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge,chrome=1"><meta name=renderer content=webkit><meta name=viewport content="user-scalable=no,width=device-width,initial-scale=1,maximum-scale=1"><meta name=msapplication-tap-highlight content=no><meta name=apple-mobile-web-app-capable content=yes><link rel="shortcut icon" href=/favicon.ico><link href=/static/css/app.e67bf66a3b64f1b45ec496faae765128.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=/static/js/manifest.14ebb9ba186cfb370de8.js></script><script type=text/javascript src=/static/js/vendor.98c0538b97a360a7756e.js></script><script type=text/javascript src=/static/js/app.e46a0879c96ff6b3a58e.js></script></body></html>
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
10
build/html/static/js/app.e46a0879c96ff6b3a58e.js
Normal file
10
build/html/static/js/app.e46a0879c96ff6b3a58e.js
Normal file
File diff suppressed because one or more lines are too long
1
build/html/static/js/app.e46a0879c96ff6b3a58e.js.map
Normal file
1
build/html/static/js/app.e46a0879c96ff6b3a58e.js.map
Normal file
File diff suppressed because one or more lines are too long
@ -1,2 +1,2 @@
|
||||
!function(e){function __webpack_require__(r){if(_[r])return _[r].exports;var t=_[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,__webpack_require__),t.l=!0,t.exports}var r=window.webpackJsonp;window.webpackJsonp=function(_,n,o){for(var c,a,i,u=0,p=[];u<_.length;u++)a=_[u],t[a]&&p.push(t[a][0]),t[a]=0;for(c in n)Object.prototype.hasOwnProperty.call(n,c)&&(e[c]=n[c]);for(r&&r(_,n,o);p.length;)p.shift()();if(o)for(u=0;u<o.length;u++)i=__webpack_require__(__webpack_require__.s=o[u]);return i};var _={},t={2:0};__webpack_require__.e=function(e){function onScriptComplete(){o.onerror=o.onload=null,clearTimeout(c);var r=t[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}var r=t[e];if(0===r)return new Promise(function(e){e()});if(r)return r[2];var _=new Promise(function(_,n){r=t[e]=[_,n]});r[2]=_;var n=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.async=!0,o.timeout=12e4,__webpack_require__.nc&&o.setAttribute("nonce",__webpack_require__.nc),o.src=__webpack_require__.p+"static/js/"+e+"."+{0:"98c0538b97a360a7756e",1:"92616146a617842e8ca0"}[e]+".js";var c=setTimeout(onScriptComplete,12e4);return o.onerror=o.onload=onScriptComplete,n.appendChild(o),_},__webpack_require__.m=e,__webpack_require__.c=_,__webpack_require__.d=function(exports,e,r){__webpack_require__.o(exports,e)||Object.defineProperty(exports,e,{configurable:!1,enumerable:!0,get:r})},__webpack_require__.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(r,"a",r),r},__webpack_require__.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},__webpack_require__.p="/",__webpack_require__.oe=function(e){throw console.error(e),e}}([]);
|
||||
//# sourceMappingURL=manifest.d1c45733b853efcc663e.js.map
|
||||
!function(e){function __webpack_require__(r){if(_[r])return _[r].exports;var t=_[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,__webpack_require__),t.l=!0,t.exports}var r=window.webpackJsonp;window.webpackJsonp=function(_,n,o){for(var c,a,i,u=0,p=[];u<_.length;u++)a=_[u],t[a]&&p.push(t[a][0]),t[a]=0;for(c in n)Object.prototype.hasOwnProperty.call(n,c)&&(e[c]=n[c]);for(r&&r(_,n,o);p.length;)p.shift()();if(o)for(u=0;u<o.length;u++)i=__webpack_require__(__webpack_require__.s=o[u]);return i};var _={},t={2:0};__webpack_require__.e=function(e){function onScriptComplete(){o.onerror=o.onload=null,clearTimeout(c);var r=t[e];0!==r&&(r&&r[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}var r=t[e];if(0===r)return new Promise(function(e){e()});if(r)return r[2];var _=new Promise(function(_,n){r=t[e]=[_,n]});r[2]=_;var n=document.getElementsByTagName("head")[0],o=document.createElement("script");o.type="text/javascript",o.charset="utf-8",o.async=!0,o.timeout=12e4,__webpack_require__.nc&&o.setAttribute("nonce",__webpack_require__.nc),o.src=__webpack_require__.p+"static/js/"+e+"."+{0:"98c0538b97a360a7756e",1:"e46a0879c96ff6b3a58e"}[e]+".js";var c=setTimeout(onScriptComplete,12e4);return o.onerror=o.onload=onScriptComplete,n.appendChild(o),_},__webpack_require__.m=e,__webpack_require__.c=_,__webpack_require__.d=function(exports,e,r){__webpack_require__.o(exports,e)||Object.defineProperty(exports,e,{configurable:!1,enumerable:!0,get:r})},__webpack_require__.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(r,"a",r),r},__webpack_require__.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},__webpack_require__.p="/",__webpack_require__.oe=function(e){throw console.error(e),e}}([]);
|
||||
//# sourceMappingURL=manifest.14ebb9ba186cfb370de8.js.map
|
File diff suppressed because one or more lines are too long
@ -16,7 +16,7 @@ if "%GOPATH%"=="" (
|
||||
set PRE_DIR=%cd%
|
||||
|
||||
@rem version name
|
||||
set VERSION_NAME=tank-1.0.2
|
||||
set VERSION_NAME=tank-1.0.3
|
||||
|
||||
cd %GOPATH%
|
||||
|
||||
|
@ -8,7 +8,7 @@ fi
|
||||
|
||||
PRE_DIR=$(pwd)
|
||||
|
||||
VERSION_NAME=tank-1.0.2
|
||||
VERSION_NAME=tank-1.0.3
|
||||
FINAL_NAME=$VERSION_NAME.linux-amd64.tar.gz
|
||||
|
||||
cd $GOPATH
|
||||
|
@ -1,13 +1,16 @@
|
||||
#docker-compose版本,这里的3不要动
|
||||
version: "3"
|
||||
#docker-compose版本,这里的2不要动
|
||||
version: "2"
|
||||
services:
|
||||
|
||||
# 数据库的镜像信息
|
||||
# 使用mysql:5.7的镜像
|
||||
db:
|
||||
image: mysql:5.7
|
||||
ports:
|
||||
# 端口映射关系,宿主机端口:镜像端口
|
||||
- "13306:3306"
|
||||
volumes:
|
||||
# 数据库文件存放在宿主机的`~/data/mysql`位置,如果宿主机目录不存在,则会自动创建
|
||||
# 数据库文件存放在宿主机的`~/data/mysql`位置,如果宿主机目录不存在,则会自动创建。这里最好不要使用相对路径。
|
||||
- ~/data/mysql:/var/lib/mysql
|
||||
# 如果启动失败,则总是会重启。因为镜像有依赖的情况,不停重启可以保证依赖项启动成功后自己再运行
|
||||
restart: always
|
||||
@ -21,7 +24,7 @@ services:
|
||||
# 蓝眼云盘的镜像信息
|
||||
# 依赖 mysql:5.7 的镜像
|
||||
tank:
|
||||
image: eyeblue/tank:1.0.2
|
||||
image: eyeblue/tank:1.0.3
|
||||
depends_on:
|
||||
- db
|
||||
ports:
|
||||
@ -47,7 +50,7 @@ services:
|
||||
# 超级管理员密码,作为登录密码
|
||||
TANK_ADMIN_PASSWORD: 123456
|
||||
volumes:
|
||||
# 日志文件存放在宿主机的`~/data/eyeblue/tank/log`位置,如果宿主机目录不存在,则会自动创建
|
||||
# 日志文件存放在宿主机的`~/data/eyeblue/tank/log`位置,如果宿主机目录不存在,则会自动创建。这里最好不要使用相对路径。
|
||||
- ~/data/eyeblue/tank/log:/data/log
|
||||
# 上传文件存放在宿主机的`~/data/eyeblue/tank/matter`位置,如果宿主机目录不存在,则会自动创建
|
||||
# 上传文件存放在宿主机的`~/data/eyeblue/tank/matter`位置,如果宿主机目录不存在,则会自动创建。这里最好不要使用相对路径。
|
||||
- ~/data/eyeblue/tank/matter:/data/matter
|
@ -20,7 +20,7 @@ const (
|
||||
TABLE_PREFIX = "tank10_"
|
||||
|
||||
//当前版本
|
||||
VERSION = "1.0.2"
|
||||
VERSION = "1.0.3"
|
||||
)
|
||||
|
||||
/*
|
||||
|
@ -58,7 +58,7 @@ func MakeDirAll(dirPath string) string {
|
||||
panic("判断文件是否存在时出错!")
|
||||
}
|
||||
if !exists {
|
||||
err = os.MkdirAll(dirPath, 0666)
|
||||
err = os.MkdirAll(dirPath, 0777)
|
||||
if err != nil {
|
||||
panic("创建文件夹时出错!")
|
||||
}
|
||||
@ -67,7 +67,6 @@ func MakeDirAll(dirPath string) string {
|
||||
return dirPath
|
||||
}
|
||||
|
||||
|
||||
//获取配置文件存放的位置
|
||||
//例如:C:\Users\lishuang\AppData\Local\Temp/conf
|
||||
func GetConfPath() string {
|
||||
@ -79,7 +78,7 @@ func GetConfPath() string {
|
||||
panic("判断日志文件夹是否存在时出错!")
|
||||
}
|
||||
if !exists {
|
||||
err = os.MkdirAll(filePath, 0666)
|
||||
err = os.MkdirAll(filePath, 0777)
|
||||
if err != nil {
|
||||
panic("创建日志文件夹时出错!")
|
||||
}
|
||||
@ -103,7 +102,7 @@ func GetUserFilePath(username string) (string, string) {
|
||||
|
||||
exists, err := PathExists(absolutePath)
|
||||
if err != nil {
|
||||
panic("判断上传文件是否存在时出错!")
|
||||
panic("判断上传文件是否存在时出错!请检查文件夹 " + filePath + " 的访问权限。")
|
||||
}
|
||||
if !exists {
|
||||
err = os.MkdirAll(absolutePath, 0777)
|
||||
|
Loading…
Reference in New Issue
Block a user