diff --git a/Tool/BuildTool/oss_upload_to_server.sh b/Tool/BuildTool/oss_upload_to_server.sh index a3228e83429..bbef75e5a64 100644 --- a/Tool/BuildTool/oss_upload_to_server.sh +++ b/Tool/BuildTool/oss_upload_to_server.sh @@ -1,7 +1,9 @@ +#!/bin/bash +# 使用 ossutil 上传至服务器 +# 上传参数 VERSION(版本) PLATFORM(平台) CHANNEL(渠道) DIR_PATH(文件路径) +# 传入资源文件夹路径模版 DIR_PATH="../../$PROJECT_NAME/ServerData/$PLATFORM/" - -##!/bin/bash SHELL_DIR=$(dirname $0) echo "change dir to $SHELL_DIR" cd "$SHELL_DIR" @@ -18,16 +20,41 @@ if [ -f ./project_env.sh ]; then echo "found the project_env file" fi +VERSION="$1" +PLATFORM="$2" +CHANNEL="$3" +DIR_PATH="$4" -file_url="$1" -cloud_url="$2" +# 获取服务器路径 +REMOTE_PATH="$OSS_REMOTE_UPLOAD_PATH/$CHANNEL/$PLATFORM/$VERSION/" +echo "remote path : $REMOTE_PATH" -# 需要安装和配置阿里云oss的命令行管理工具 +# 检查服务器上的文件夹是否存在 +"$OSSUTIL_PATH" ls "$REMOTE_PATH" > /dev/null 2>&1 +if [ $? -ne 0 ]; then + echo "Remote Create $REMOTE_PATH .." + "$OSSUTIL_PATH" mkdir "$REMOTE_PATH" +fi -echo "运行阿里云oss sync $file_url $cloud_url" +# 判断DIR_PATH是文件还是目录 -f强制覆盖同名文件 +if [ -d "$DIR_PATH" ]; then + echo "dir : $DIR_PATH" + "$OSSUTIL_PATH" cp -r "$DIR_PATH" "$REMOTE_PATH" -f +elif [ -f "$DIR_PATH" ]; then + echo "file : $DIR_PATH" + "$OSSUTIL_PATH" cp "$DIR_PATH" "$REMOTE_PATH" -f +else + echo "Error: $DIR_PATH is neither a file nor a directory. Exiting." + exit 1 +fi +upload_result=$? -#ossutil sync ~/bin oss://nld-test/srouce/ -f -u -j 16 +if [ $upload_result -eq 0 ]; then + echo "Upload [$DIR_PATH] to remote server successfully." +else + echo "Failed to upload [$DIR_PATH] to remote server." + exit 1 +fi -ossutil sync $file_url $cloud_url -f -u -j 16 diff --git a/Tool/BuildTool/project_env.sh b/Tool/BuildTool/project_env.sh index 578e8499abd..3ed8b78ce45 100644 --- a/Tool/BuildTool/project_env.sh +++ b/Tool/BuildTool/project_env.sh @@ -15,6 +15,9 @@ REMOTE_USER="root" # 服务器地址 REMOTE_HOST="132.232.113.98" +# 内部OSS服务器地址 +OSS_REMOTE_UPLOAD_PATH="oss://nld-test/pre_release" + # 服务器上传资源路径 REMOTE_UPLOAD_PATH="var/www/html/nld/Build"