GitBucket
4.6.0
Toggle navigation
Sign in
Files
Branches
1
Tags
Issues
Pull Requests
Labels
Milestones
Wiki
08335
/
hivui-platform-template
hivui平台项目模板
Browse code
Merge branch 'master' of http://192.168.4.105:8080/gitbucket/git/08335/hivui-platform-template
master
commit
161c04db89a74a8cbb5e02d34e93dcc61a23146c
2 parents
9e632c4
+
b644d4e
hhb
authored
on 19 Jan 2022
Showing
2 changed files
build/bin/oper.sh
package.json
Ignore Space
Show notes
View
build/bin/oper.sh
#!/bin/bash ## 权限问题,用 chmod u+x *.sh ## eg: oper.sh # 用户名 # 项目名 # 操作 (create , restart , start , kill , stop , del , build , sync) # 部署路径 (upload) # 同步内容(node_modules , build , cli ) ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"` tagIp="192.168.4.193" if [[ $ip == *$tagIp* ]]; then DEV_BASE_API='http://192.168.4.106:7777/' #传给配置 .env.development 的 VITE_APP_BASE_API 做后端请求数据 else DEV_BASE_API='http://e5.hieap.cn/' #传给配置 .env.development 的 VITE_APP_BASE_API 做后端请求数据 fi cmdDir=$( cd $(dirname "$0") pwd ) username=$1 #用户名 projectName=$2 #项目名 cmd=$3 #命令 #BASH_SOURCE[0]用户所在的目录到脚本的路径 ## 获取eap5.0 路径 # eap5Dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" eap5Dir="${cmdDir%/hiruntime*}" projectPath=${eap5Dir}/desktop/preview tmpPath=${eap5Dir}/hiruntime/project/desktop/project-template source[0]='\t<% if(htmlWebpackPlugin.vite){%>\n\t<!--预览时 公共库-->' source[1]='\n\t<script src="\/'${projectName}'\/setting\/desktop\/development.js" type="text\/javascript"><\/script>' source[2]='\n\t<%}%>' source[3]='\n\t<% if(!htmlWebpackPlugin.vite){%>\n\t<!--发布时 公共库-->' source[4]='\n\t<script src="\/${serverName}\/render\/'${username}'\/'${projectName}'\/setting\/desktop\/appsetting.js" type="text\/javascript"><\/script>' source[5]='\n\t<%}%>\n' nrm del zhc nrm add zhc http://npm.hieap.cn/ nrm use zhc case $cmd in "create") #创建 #参数个数判断,至少4个 if [ $# -lt 4 ];then echo "创建项目命令参数不对:$*" echo "创建项目命令正确参数:用户名 项目名 create 桌面预览端口" exit 1 fi # source ${cmdDir}/var_env.sh # echo ${DEV_BASE_API} echo eap5Dir: ${eap5Dir} echo projectPath: ${projectPath} port=$4 #端口 if [ ! -d "${projectPath}/${username}" ];then mkdir "${projectPath}/${username}" #创用户工作空间 fi if [ -d "${projectPath}/${username}/${projectName}" ];then echo "项目名已经存在!" exit 1 fi echo "<1>git正在拉取web端项目基础文件" git clone http://192.168.4.105:8080/gitbucket/git/08335/hivui-platform-template.git "${projectPath}/${username}/${projectName}/deploy" echo "<2>初始化node环境..." cp -rf ${tmpPath}/node_modules ${projectPath}/${username}/${projectName}/deploy/node_modules cd ${projectPath}/${username}/${projectName}/deploy/ rm -rf ./build/bin rm -rf ./build/doc.txt echo "<3>初始化相关配置..." ## 修改模板,重命项目名 mv project ${projectName} sed -i 's#\(VITE_APP_USERPATH \?= \?\).*#\1'"/e5/render/${username}"'#g' .env.production sed -i 's#\(VITE_APP_PN \?= \?\).*#\1'"${projectName}/${username}"'#g' ${projectPath}/${username}/${projectName}/deploy/.env.development sed -i 's#\(VITE_APP_BASE_API \?= \?\).*#\1'"${DEV_BASE_API}"'#g' .env.development ## 替换 package.json 的 name 值 author值 ,打包时候输出静态地址是这个 sed -i 's#\("name": \?"\).*#\1'"${projectName}"'",#g' package.json sed -i 's#\("author": \?"\).*#\1'"${username}"'",#g' package.json ## 替换 processes.json 的 args 值 sed -i '4s#\("name": \?"\).*#\1'"vite-${username}-${projectName}"'",#g' processes.json sed -i '7s#\("args": \?"\).*#\1'"--host --port ${port}"'",#g' processes.json cd ${projectPath}/${username}/${projectName}/deploy/${projectName}/hivuiLogin sed -i 's/<\/head>/'"${source[*]}"'<\/head>/g' index.html cd ${projectPath}/${username}/${projectName}/deploy/${projectName}/hivuiMain sed -i 's/<\/head>/'"${source[*]}"'<\/head>/g' index.html cd ${projectPath}/${username}/${projectName}/deploy/${projectName}/setting/desktop/appsetting/js/1.0.0 sed -i 's#\(projectName \?= \?\).*#\1"'"${projectName}"'";#g' appsetting.js echo "<4>配置Nginx环境" echo "<5>正在启动服务..." cd ${projectPath}/${username}/${projectName}/deploy/ npm run pm2:start pm2 save exit 1 ;; "delete") #删除 #参数个数判断,至少3个 if [ $# -lt 3 ];then echo "删除项目命令参数不对:$*" echo "删除项目命令正确参数:用户名 项目名 delete" exit 1 fi if [ $username = "admin" -a $projectName = "systpl" ] ; then echo "系统模板,不可删除!" exit 1 fi curPid=`pm2 pid vite-${username}-${projectName}` if [ ! -z "$curPid" ];then echo "vite-${username}-${projectName} 正在关闭服务..." pm2 delete "vite-${username}-${projectName}" fi ### 删除用户项目 rm -rf ${projectPath}/${username}/${projectName} echo "用户:${username} 项目:${projectName} 删除成功!" pm2 save exit 1 ;; "restart") #重启 echo "》》》正在重启服务..." curPid=`pm2 pid vite-${username}-${projectName}` if [ ! -z "$curPid" ];then echo "vite-${username}-${projectName} 正在关闭服务..." pm2 delete "vite-${username}-${projectName}" fi cd ${projectPath}/${username}/${projectName}/deploy/ npm run rm:vite npm run pm2:start pm2 save echo "已经重启服务!!" exit 1 ;; "build") #编译 uploadPath=$4 modules=$5 #参数个数判断,至少3个 # if [ $# -lt 4 ];then # echo "编译项目命令参数不对:$*" # echo "编译项目命令正确参数:用户名 项目名 build 上传服务器路径 [指定编译模块]" # exit 1 # fi ### 用pm2管理,用pm2 重启指定的 cd "${projectPath}/${username}/${projectName}/deploy" npm run build $modules #yarn run pm2:stop vite-${username}-${projectName} cd "${projectPath}/${username}/${projectName}/deploy/" if [[ ! -d "${projectPath}/${username}/${projectName}/deploy/dist/yslz/funclib/desklib" ]]; then mkdir -p "${projectPath}/${username}/${projectName}/deploy/dist/yslz/funclib/desklib" fi cp -rf "${projectPath}/${username}/${projectName}/deploy/yslz/funclib/desklib" "${projectPath}/${username}/${projectName}/deploy/dist/yslz/funclib/" ## 删除之前打包文件 rm -rf "${username}_${projectName}_dist.zip" cd "${projectPath}/${username}/${projectName}/deploy/dist" mkdir -p "${projectPath}/${username}/${projectName}/deploy/dist/${username}/${projectName}" cp -rf "${projectPath}/${username}/${projectName}/deploy/dist/${projectName}" "${projectPath}/${username}/${projectName}/deploy/dist/${username}/" rm -rf "${projectPath}/${username}/${projectName}/deploy/dist/${projectName}" zip -q -r "${username}_${projectName}_dist.zip" ./* cp -rf "${projectPath}/${username}/${projectName}/deploy/dist/${username}_${projectName}_dist.zip" "${projectPath}/${username}/${projectName}/deploy/" cd ${projectPath}/${username}/${projectName}/deploy/ if [ -z "$uploadPath" ]; then echo '未传服务器路径,请自行拷贝!' exit 1; fi if [[ ! -d "$uploadPath" ]]; then echo "编译命令: 上传文件夹不存在, 正在帮您创建目录..." mkdir -p "${uploadPath}" fi echo "正在拷到服务器目录:${uploadPath}" # cp -f "${username}_${projectName}_dist.zip" "${uploadPath}" cp -fv "${username}_${projectName}_dist.zip" "${uploadPath}" echo "(‐^▽^‐) 编译打包成功!" ;; "sync") #同步环境 #参数个数判断,至少4个 if [ $# -lt 4 ];then echo "同步项目命令参数不对:$*" echo "同步项目命令正确参数:用户名 项目名 sync 同步方式" exit 1 fi way=$4 if [ $way = 'sysfunc' ];then #同步系统功能 echo "》》》同步系统功能..." git clone http://192.168.4.105:8080/gitbucket/git/js-team2/zhc-birt-platf.git ${eap5Dir}/hiruntime/project/desktop/__zhc-birt-platf rm -rf ${eap5Dir}/hiruntime/project/desktop/zhc-birt-platf cp -rf ${eap5Dir}/hiruntime/project/desktop/__zhc-birt-platf/project/* ${eap5Dir}/hiruntime/workspace/${username}/${projectName}/ rm -rf ${eap5Dir}/hiruntime/project/desktop/__zhc-birt-platf echo "》》》系统功能已同步!" exit; fi git clone http://192.168.4.105:8080/gitbucket/git/08335/hivui-platform-template.git ${eap5Dir}/hiruntime/project/desktop/__gittmp ## rsync ${eap5Dir}/hiruntime/project/desktop/__gittmp ${tmpPath} rm -rf ${eap5Dir}/hiruntime/project/desktop/project-template cp -rf ${eap5Dir}/hiruntime/project/desktop/__gittmp ${eap5Dir}/hiruntime/project/desktop/project-template rm -rf ${eap5Dir}/hiruntime/project/desktop/__gittmp case $way in "build") #同步打包环境 echo "》》》正在同步打包环境..." rsync -auz ${tmpPath}/build ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/babel.config.js ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/.postcssrc.js ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/.browserslistrc ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/vite-plugin ${projectPath}/${username}/${projectName}/deploy/ echo "》》》打包环境已同步!" exit 1 ;; "hiui") #同步hiui资源库 echo "》》》正在同步hi-ui库..." cd "${tmpPath}/" npm i hi-ui -S rm -rf ${projectPath}/${username}/${projectName}/deploy/node_modules/hi-ui rsync -auz ${tmpPath}/node_modules/hi-ui ${projectPath}/${username}/${projectName}/deploy/node_modules/ ## 取hi-ui版本 并更新root package.json ## cd ${projectPath}/${username}/${projectName}/deploy/node_modules/hi-ui/ ## sed -i 's#\("name": \?"\).*#\1'"${projectName}"'",#g' package.json echo "hiui已同步!" ;; "taskcenter") #同步环境 echo "》》》正在同步任务中心..." cd "${tmpPath}/" npm i hi-taskcenter -S rm -rf ${projectPath}/${username}/${projectName}/deploy/node_modules/hi-taskcenter rsync -auz ${tmpPath}/node_modules/hi-taskcenter ${projectPath}/${username}/${projectName}/deploy/node_modules/ ## 取hi-taskcenter版本 并更新root package.json ## cd ${projectPath}/${username}/${projectName}/deploy/node_modules/hi-taskcenter/ ## sed -i 's#\("name": \?"\).*#\1'"${projectName}"'",#g' package.json echo "任务中心已同步!" ;; "cli") #程序环境 rsync -auz ${tmpPath}/assets_platform ${projectPath}/${username}/${projectName}/deploy/ echo "》》》静态共用库已同步!" rsync -auz ${tmpPath}/funclib ${projectPath}/${username}/${projectName}/deploy/ echo "》》》项目funclib资源已同步!" rsync -auz ${tmpPath}/project/hivuiLogin ${projectPath}/${username}/${projectName}/deploy/${projectName}/ cd ${projectPath}/${username}/${projectName}/deploy/${projectName}/hivuiLogin sed -i 's/<\/head>/'"${source[*]}"'<\/head>/g' index.html echo "》》》登录模板已同步!" rsync -auz ${tmpPath}/project/hivuiMain ${projectPath}/${username}/${projectName}/deploy/${projectName}/ cd ${projectPath}/${username}/${projectName}/deploy/${projectName}/hivuiMain sed -i 's/<\/head>/'"${source[*]}"'<\/head>/g' index.html echo "》》》主页模板已同步!" cd "${tmpPath}/" npm i rsync -auz ${tmpPath}/node_modules ${projectPath}/${username}/${projectName}/deploy/ echo "》》》node环境已同步!" cd "${tmpPath}/" npm i hi-ui -S rm -rf ${projectPath}/${username}/${projectName}/deploy/node_modules/hi-ui rsync -auz ${tmpPath}/node_modules/hi-ui ${projectPath}/${username}/${projectName}/deploy/node_modules/ echo "》》》hi-ui库已同步!" rsync -auz ${tmpPath}/build ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/babel.config.js ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/.postcssrc.js ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/.browserslistrc ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/vite-plugin ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/.env.development ${projectPath}/${username}/${projectName}/deploy/.env.development rsync -auz ${tmpPath}/.env.production ${projectPath}/${username}/${projectName}/deploy/.env.production rsync -auz ${tmpPath}/.env.staging ${projectPath}/${username}/${projectName}/deploy/.env.staging rsync -auz ${tmpPath}/vite.config.js ${projectPath}/${username}/${projectName}/deploy/vite.config.js echo "》》》已同步程序环境(build、babel.config.js、.postcssrc.js、.browserslistrc、vite-plugin、.env.development、.env.production、.env.staging、vite.config.js)..." # source ${cmdDir}/var_env.sh ### 设置环境变量 sed -i 's#\(VITE_APP_USERPATH \?= \?\).*#\1'"/e5/render/${username}"'#g' .env.production sed -i 's#\(VITE_APP_BASE_API \?= \?\).*#\1'"${DEV_BASE_API}"'#g' ${projectPath}/${username}/${projectName}/deploy/.env.development sed -i 's#\(VITE_APP_PN \?= \?\).*#\1'"${projectName}/${username}"'#g' ${projectPath}/${username}/${projectName}/deploy/.env.development sed -i 's#\(VITE_APP_PN \?= \?\).*#\1'"${projectName}/${username}"'#g' ${projectPath}/${username}/${projectName}/deploy/.env.staging echo "》》》程序环境已同步!" ;; esac rsync -auz ${tmpPath}/package.json ${projectPath}/${username}/${projectName}/deploy/package.json cd ${projectPath}/${username}/${projectName}/deploy/ ## 替换 package.json 的 name 值 sed -i 's#\("name": \?"\).*#\1'"${projectName}"'",#g' package.json sed -i 's#\("author": \?"\).*#\1'"${username}"'",#g' package.json echo "》》》正在重启服务..." pm2 delete "vite-${username}-${projectName}" npm run rm:vite npm run pm2:start pm2 save echo "》》》已经重启服务!!" ;; esac
#!/bin/bash ## 权限问题,用 chmod u+x *.sh ## eg: oper.sh # 用户名 # 项目名 # 操作 (create , restart , start , kill , stop , del , build , sync) # 部署路径 (upload) # 同步内容(node_modules , build , cli ) ip=`ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"` tagIp="192.168.4.193" if [[ $ip == *$tagIp* ]]; then DEV_BASE_API='http://192.168.4.106:7777/' #传给配置 .env.development 的 VITE_APP_BASE_API 做后端请求数据 else DEV_BASE_API='http://e5.hieap.cn/' #传给配置 .env.development 的 VITE_APP_BASE_API 做后端请求数据 fi cmdDir=$( cd $(dirname "$0") pwd ) username=$1 #用户名 projectName=$2 #项目名 cmd=$3 #命令 #BASH_SOURCE[0]用户所在的目录到脚本的路径 ## 获取eap5.0 路径 # eap5Dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" eap5Dir="${cmdDir%/hiruntime*}" projectPath=${eap5Dir}/desktop/preview tmpPath=${eap5Dir}/hiruntime/project/desktop/project-template source[0]='\t<% if(htmlWebpackPlugin.vite){%>\n\t<!--预览时 公共库-->' source[1]='\n\t<script src="\/'${projectName}'\/setting\/desktop\/development.js" type="text\/javascript"><\/script>' source[2]='\n\t<%}%>' source[3]='\n\t<% if(!htmlWebpackPlugin.vite){%>\n\t<!--发布时 公共库-->' source[4]='\n\t<script src="\/${serverName}\/render\/'${username}'\/'${projectName}'\/setting\/desktop\/appsetting.js" type="text\/javascript"><\/script>' source[5]='\n\t<%}%>\n' nrm del zhc nrm add zhc http://npm.hieap.cn/ nrm use zhc case $cmd in "create") #创建 #参数个数判断,至少4个 if [ $# -lt 4 ];then echo "创建项目命令参数不对:$*" echo "创建项目命令正确参数:用户名 项目名 create 桌面预览端口" exit 1 fi # source ${cmdDir}/var_env.sh # echo ${DEV_BASE_API} echo eap5Dir: ${eap5Dir} echo projectPath: ${projectPath} port=$4 #端口 if [ ! -d "${projectPath}/${username}" ];then mkdir "${projectPath}/${username}" #创用户工作空间 fi if [ -d "${projectPath}/${username}/${projectName}" ];then echo "项目名已经存在!" exit 1 fi echo "<1>git正在拉取web端项目基础文件" git clone http://192.168.4.105:8080/gitbucket/git/08335/hivui-platform-template.git "${projectPath}/${username}/${projectName}/deploy" echo "<2>初始化node环境..." cp -rf ${tmpPath}/node_modules ${projectPath}/${username}/${projectName}/deploy/node_modules cd ${projectPath}/${username}/${projectName}/deploy/ rm -rf ./build/bin rm -rf ./build/doc.txt echo "<3>初始化相关配置..." ## 修改模板,重命项目名 mv project ${projectName} sed -i 's#\(VITE_APP_USERPATH \?= \?\).*#\1'"/e5/render/${username}"'#g' .env.production sed -i 's#\(VITE_APP_PN \?= \?\).*#\1'"${projectName}/${username}"'#g' ${projectPath}/${username}/${projectName}/deploy/.env.development sed -i 's#\(VITE_APP_BASE_API \?= \?\).*#\1'"${DEV_BASE_API}"'#g' .env.development ## 替换 package.json 的 name 值 author值 ,打包时候输出静态地址是这个 sed -i 's#\("name": \?"\).*#\1'"${projectName}"'",#g' package.json sed -i 's#\("author": \?"\).*#\1'"${username}"'",#g' package.json ## 替换 processes.json 的 args 值 sed -i '4s#\("name": \?"\).*#\1'"vite-${username}-${projectName}"'",#g' processes.json sed -i '7s#\("args": \?"\).*#\1'"--host --port ${port}"'",#g' processes.json cd ${projectPath}/${username}/${projectName}/deploy/${projectName}/hivuiLogin sed -i 's/<\/head>/'"${source[*]}"'<\/head>/g' index.html cd ${projectPath}/${username}/${projectName}/deploy/${projectName}/hivuiMain sed -i 's/<\/head>/'"${source[*]}"'<\/head>/g' index.html cd ${projectPath}/${username}/${projectName}/deploy/${projectName}/setting/desktop/appsetting/js/1.0.0 sed -i 's#\(projectName \?= \?\).*#\1"'"${projectName}"'";#g' appsetting.js echo "<4>配置Nginx环境" echo "<5>正在启动服务..." cd ${projectPath}/${username}/${projectName}/deploy/ npm run pm2:start pm2 save exit 1 ;; "delete") #删除 #参数个数判断,至少3个 if [ $# -lt 3 ];then echo "删除项目命令参数不对:$*" echo "删除项目命令正确参数:用户名 项目名 delete" exit 1 fi if [ $username = "admin" -a $projectName = "systpl" ] ; then echo "系统模板,不可删除!" exit 1 fi curPid=`pm2 pid vite-${username}-${projectName}` if [ ! -z "$curPid" ];then echo "vite-${username}-${projectName} 正在关闭服务..." pm2 delete "vite-${username}-${projectName}" fi ### 删除用户项目 rm -rf ${projectPath}/${username}/${projectName} echo "用户:${username} 项目:${projectName} 删除成功!" pm2 save exit 1 ;; "restart") #重启 echo "》》》正在重启服务..." curPid=`pm2 pid vite-${username}-${projectName}` if [ ! -z "$curPid" ];then echo "vite-${username}-${projectName} 正在关闭服务..." pm2 delete "vite-${username}-${projectName}" fi cd ${projectPath}/${username}/${projectName}/deploy/ npm run rm:vite npm run pm2:start pm2 save echo "已经重启服务!!" exit 1 ;; "build") #编译 uploadPath=$4 modules=$5 #参数个数判断,至少3个 # if [ $# -lt 4 ];then # echo "编译项目命令参数不对:$*" # echo "编译项目命令正确参数:用户名 项目名 build 上传服务器路径 [指定编译模块]" # exit 1 # fi ### 用pm2管理,用pm2 重启指定的 cd "${projectPath}/${username}/${projectName}/deploy" npm run build $modules #yarn run pm2:stop vite-${username}-${projectName} cd "${projectPath}/${username}/${projectName}/deploy/" if [[ ! -d "${projectPath}/${username}/${projectName}/deploy/dist/yslz/funclib/desklib" ]]; then mkdir -p "${projectPath}/${username}/${projectName}/deploy/dist/yslz/funclib/desklib" fi cp -rf "${projectPath}/${username}/${projectName}/deploy/yslz/funclib/desklib" "${projectPath}/${username}/${projectName}/deploy/dist/yslz/funclib/" ## 删除之前打包文件 rm -rf "${username}_${projectName}_dist.zip" cd "${projectPath}/${username}/${projectName}/deploy/dist" mkdir -p "${projectPath}/${username}/${projectName}/deploy/dist/${username}/${projectName}" cp -rf "${projectPath}/${username}/${projectName}/deploy/dist/${projectName}" "${projectPath}/${username}/${projectName}/deploy/dist/${username}/" rm -rf "${projectPath}/${username}/${projectName}/deploy/dist/${projectName}" zip -q -r "${username}_${projectName}_dist.zip" ./* cp -rf "${projectPath}/${username}/${projectName}/deploy/dist/${username}_${projectName}_dist.zip" "${projectPath}/${username}/${projectName}/deploy/" cd ${projectPath}/${username}/${projectName}/deploy/ if [ -z "$uploadPath" ]; then echo '未传服务器路径,请自行拷贝!' exit 1; fi if [[ ! -d "$uploadPath" ]]; then echo "编译命令: 上传文件夹不存在, 正在帮您创建目录..." mkdir -p "${uploadPath}" fi echo "正在拷到服务器目录:${uploadPath}" # cp -f "${username}_${projectName}_dist.zip" "${uploadPath}" cp -fv "${username}_${projectName}_dist.zip" "${uploadPath}" echo "(‐^▽^‐) 编译打包成功!" ;; "sync") #同步环境 #参数个数判断,至少4个 if [ $# -lt 4 ];then echo "同步项目命令参数不对:$*" echo "同步项目命令正确参数:用户名 项目名 sync 同步方式" exit 1 fi way=$4 git clone http://192.168.4.105:8080/gitbucket/git/08335/hivui-platform-template.git ${eap5Dir}/hiruntime/project/desktop/__gittmp ## rsync ${eap5Dir}/hiruntime/project/desktop/__gittmp ${tmpPath} rm -rf ${eap5Dir}/hiruntime/project/desktop/project-template cp -rf ${eap5Dir}/hiruntime/project/desktop/__gittmp ${eap5Dir}/hiruntime/project/desktop/project-template rm -rf ${eap5Dir}/hiruntime/project/desktop/__gittmp case $way in "sysfunc") #同步系统功能 echo "》》》同步系统功能..." git clone http://192.168.4.105:8080/gitbucket/git/js-team2/zhc-birt-platf.git ${eap5Dir}/hiruntime/project/desktop/__zhc-birt-platf rm -rf ${eap5Dir}/hiruntime/project/desktop/zhc-birt-platf cp -rf ${eap5Dir}/hiruntime/project/desktop/__zhc-birt-platf ${eap5Dir}/hiruntime/workspace/${projectName}/${username} rm -rf ${eap5Dir}/hiruntime/project/desktop/__zhc-birt-platf echo "》》》系统功能已同步!" exit 1; ;; "build") #同步打包环境 echo "》》》正在同步打包环境..." rsync -auz ${tmpPath}/build ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/babel.config.js ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/.postcssrc.js ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/.browserslistrc ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/vite-plugin ${projectPath}/${username}/${projectName}/deploy/ echo "》》》打包环境已同步!" exit 1 ;; "hiui") #同步hiui资源库 echo "》》》正在同步hi-ui库..." cd "${tmpPath}/" npm i hi-ui -S rm -rf ${projectPath}/${username}/${projectName}/deploy/node_modules/hi-ui rsync -auz ${tmpPath}/node_modules/hi-ui ${projectPath}/${username}/${projectName}/deploy/node_modules/ ## 取hi-ui版本 并更新root package.json ## cd ${projectPath}/${username}/${projectName}/deploy/node_modules/hi-ui/ ## sed -i 's#\("name": \?"\).*#\1'"${projectName}"'",#g' package.json echo "hiui已同步!" ;; "taskcenter") #同步环境 echo "》》》正在同步任务中心..." cd "${tmpPath}/" npm i hi-taskcenter -S rm -rf ${projectPath}/${username}/${projectName}/deploy/node_modules/hi-taskcenter rsync -auz ${tmpPath}/node_modules/hi-taskcenter ${projectPath}/${username}/${projectName}/deploy/node_modules/ ## 取hi-taskcenter版本 并更新root package.json ## cd ${projectPath}/${username}/${projectName}/deploy/node_modules/hi-taskcenter/ ## sed -i 's#\("name": \?"\).*#\1'"${projectName}"'",#g' package.json echo "任务中心已同步!" ;; "cli") #程序环境 rsync -auz ${tmpPath}/assets_platform ${projectPath}/${username}/${projectName}/deploy/ echo "》》》静态共用库已同步!" rsync -auz ${tmpPath}/funclib ${projectPath}/${username}/${projectName}/deploy/ echo "》》》项目funclib资源已同步!" rsync -auz ${tmpPath}/project/hivuiLogin ${projectPath}/${username}/${projectName}/deploy/${projectName}/ cd ${projectPath}/${username}/${projectName}/deploy/${projectName}/hivuiLogin sed -i 's/<\/head>/'"${source[*]}"'<\/head>/g' index.html echo "》》》登录模板已同步!" rsync -auz ${tmpPath}/project/hivuiMain ${projectPath}/${username}/${projectName}/deploy/${projectName}/ cd ${projectPath}/${username}/${projectName}/deploy/${projectName}/hivuiMain sed -i 's/<\/head>/'"${source[*]}"'<\/head>/g' index.html echo "》》》主页模板已同步!" cd "${tmpPath}/" npm i rsync -auz ${tmpPath}/node_modules ${projectPath}/${username}/${projectName}/deploy/ echo "》》》node环境已同步!" cd "${tmpPath}/" npm i hi-ui -S rm -rf ${projectPath}/${username}/${projectName}/deploy/node_modules/hi-ui rsync -auz ${tmpPath}/node_modules/hi-ui ${projectPath}/${username}/${projectName}/deploy/node_modules/ echo "》》》hi-ui库已同步!" rsync -auz ${tmpPath}/build ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/babel.config.js ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/.postcssrc.js ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/.browserslistrc ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/vite-plugin ${projectPath}/${username}/${projectName}/deploy/ rsync -auz ${tmpPath}/.env.development ${projectPath}/${username}/${projectName}/deploy/.env.development rsync -auz ${tmpPath}/.env.production ${projectPath}/${username}/${projectName}/deploy/.env.production rsync -auz ${tmpPath}/.env.staging ${projectPath}/${username}/${projectName}/deploy/.env.staging rsync -auz ${tmpPath}/vite.config.js ${projectPath}/${username}/${projectName}/deploy/vite.config.js echo "》》》已同步程序环境(build、babel.config.js、.postcssrc.js、.browserslistrc、vite-plugin、.env.development、.env.production、.env.staging、vite.config.js)..." # source ${cmdDir}/var_env.sh ### 设置环境变量 sed -i 's#\(VITE_APP_USERPATH \?= \?\).*#\1'"/e5/render/${username}"'#g' .env.production sed -i 's#\(VITE_APP_BASE_API \?= \?\).*#\1'"${DEV_BASE_API}"'#g' ${projectPath}/${username}/${projectName}/deploy/.env.development sed -i 's#\(VITE_APP_PN \?= \?\).*#\1'"${projectName}/${username}"'#g' ${projectPath}/${username}/${projectName}/deploy/.env.development sed -i 's#\(VITE_APP_PN \?= \?\).*#\1'"${projectName}/${username}"'#g' ${projectPath}/${username}/${projectName}/deploy/.env.staging echo "》》》程序环境已同步!" ;; esac rsync -auz ${tmpPath}/package.json ${projectPath}/${username}/${projectName}/deploy/package.json cd ${projectPath}/${username}/${projectName}/deploy/ ## 替换 package.json 的 name 值 sed -i 's#\("name": \?"\).*#\1'"${projectName}"'",#g' package.json sed -i 's#\("author": \?"\).*#\1'"${username}"'",#g' package.json echo "》》》正在重启服务..." pm2 delete "vite-${username}-${projectName}" npm run rm:vite npm run pm2:start pm2 save echo "》》》已经重启服务!!" ;; esac
Ignore Space
Show notes
View
package.json
{ "name": "hi-vui-template", "version": "1.1.5", "description": "A hi-vui-template project", "author": "zhcTeam", "scripts": { "rm:vite": "rimraf node_modules/.vite && rimraf node_modules/.cache", "pm2:start": "pm2 start processes.json", "dev": "vite --host", "build": "node build/copyBaseAssets.js && cross-env NODE_ENV=production node build/webpack.prod.conf.js", "build:modules": "node build/webpack.prod.conf.js", "build1": "webpack --mode production --config build/webpack.prod.conf.js", "debug": "webpack --mode development --config build/webpack.dll.conf.js", "dll": "webpack --config build/webpack.dll.conf.js", "start": "webpack-dev-server --config build/webpack.dev.conf.js", "copyassets": "node build/copyBaseAssets.js" }, "devDependencies": { "@babel/core": "^7.1.2", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", "@babel/plugin-proposal-optional-chaining": "^7.16.7", "@babel/plugin-syntax-dynamic-import": "^7.0.0", "@babel/preset-env": "^7.1.0", "@vitejs/plugin-vue-jsx": "^1.3.3", "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", "@vue/babel-preset-jsx": "^1.2.4", "add-asset-html-webpack-plugin": "^3.2.0", "autoprefixer": "^9.1.5", "babel-loader": "^8.0.4", "babel-plugin-component": "^1.1.1", "babel-plugin-transform-vite-meta-env": "^1.0.3", "chalk": "^5.0.0", "clean-webpack-plugin": "^0.1.19", "copy-webpack-plugin": "^4.5.3", "cross-env": "^7.0.3", "css-loader": "^1.0.0", "dotenv": "^10.0.0", "file-loader": "^2.0.0", "happypack": "^5.0.1", "html-webpack-plugin": "^4.5.2", "less": "^4.1.2", "less-loader": "^5.0.0", "mini-css-extract-plugin": "^1.6.2", "node-sass": "^4.9.3", "optimize-css-assets-webpack-plugin": "^5.0.1", "parallel-webpack": "^2.6.0", "postcss-import": "^11.1.0", "postcss-loader": "^2.1.6", "postcss-url": "^7.3.2", "progress-bar-webpack-plugin": "^2.1.0", "sass-loader": "^7.1.0", "style-loader": "^0.23.0", "uglifyjs-webpack-plugin": "^2.0.1", "url-loader": "^1.1.1", "vite": "2.3.7", "vite-plugin-html": "^2.1.1", "vite-plugin-imp": "^2.0.11", "vite-plugin-pagedata": "^1.0.4", "vite-plugin-vue2": "^1.9.0", "vue-loader": "^15.4.2", "vue-template-compiler": "^2.5.17", "webpack": "^4.20.2", "webpack-cli": "^3.1.1", "webpack-dev-server": "^3.1.9", "webpack-merge": "^4.1.4" }, "dependencies": { "axios": "^0.24.0", "babel-polyfill": "^6.26.0", "classnames": "^2.3.1", "deep-lu-trans": "^1.0.5", "element-ui": "^2.15.6", "enquire.js": "^2.1.6", "font-awesome": "^4.7.0", "hi-taskcenter": "^1.0.9", "hi-ui": "^1.1.922", "js-cookie": "^3.0.1", "js-pinyin": "^0.1.9", "lodash": "^4.17.11", "md5": "^2.3.0", "screenfull": "^6.0.0", "sortablejs": "^1.14.0", "vue": "^2.5.17", "vue-draggable-resizable": "^2.3.0", "vue-gemini-scrollbar": "^2.0.1", "vue-jstree": "^2.1.6", "vue-router": "^3.0.1", "vuex": "^3.6.2", "zhc-birt-cmps": "^2.3.13" } }
{ "name": "hi-vui-template", "version": "1.1.5", "description": "A hi-vui-template project", "author": "zhcTeam", "scripts": { "rm:vite": "rimraf node_modules/.vite && rimraf node_modules/.cache", "pm2:start": "pm2 start processes.json", "dev": "vite --host", "build": "node build/copyBaseAssets.js && cross-env NODE_ENV=production node build/webpack.prod.conf.js", "build:modules": "node build/webpack.prod.conf.js", "build1": "webpack --mode production --config build/webpack.prod.conf.js", "debug": "webpack --mode development --config build/webpack.dll.conf.js", "dll": "webpack --config build/webpack.dll.conf.js", "start": "webpack-dev-server --config build/webpack.dev.conf.js", "copyassets": "node build/copyBaseAssets.js" }, "devDependencies": { "@babel/core": "^7.1.2", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", "@babel/plugin-proposal-optional-chaining": "^7.16.7", "@babel/plugin-syntax-dynamic-import": "^7.0.0", "@babel/preset-env": "^7.1.0", "@vitejs/plugin-vue-jsx": "^1.3.3", "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", "@vue/babel-preset-jsx": "^1.2.4", "add-asset-html-webpack-plugin": "^3.2.0", "autoprefixer": "^9.1.5", "babel-loader": "^8.0.4", "babel-plugin-component": "^1.1.1", "babel-plugin-transform-vite-meta-env": "^1.0.3", "chalk": "^5.0.0", "clean-webpack-plugin": "^0.1.19", "copy-webpack-plugin": "^4.5.3", "cross-env": "^7.0.3", "css-loader": "^1.0.0", "dotenv": "^10.0.0", "file-loader": "^2.0.0", "happypack": "^5.0.1", "html-webpack-plugin": "^4.5.2", "less": "^4.1.2", "less-loader": "^5.0.0", "mini-css-extract-plugin": "^1.6.2", "node-sass": "^4.9.3", "optimize-css-assets-webpack-plugin": "^5.0.1", "parallel-webpack": "^2.6.0", "postcss-import": "^11.1.0", "postcss-loader": "^2.1.6", "postcss-url": "^7.3.2", "progress-bar-webpack-plugin": "^2.1.0", "sass-loader": "^7.1.0", "style-loader": "^0.23.0", "uglifyjs-webpack-plugin": "^2.0.1", "url-loader": "^1.1.1", "vite": "^2.3.7", "vite-plugin-html": "^2.1.1", "vite-plugin-imp": "^2.0.11", "vite-plugin-pagedata": "^1.0.4", "vite-plugin-vue2": "^1.9.0", "vue-loader": "^15.4.2", "vue-template-compiler": "^2.5.17", "webpack": "^4.20.2", "webpack-cli": "^3.1.1", "webpack-dev-server": "^3.1.9", "webpack-merge": "^4.1.4" }, "dependencies": { "axios": "^0.24.0", "babel-polyfill": "^6.26.0", "classnames": "^2.3.1", "deep-lu-trans": "^1.0.5", "element-ui": "^2.15.6", "enquire.js": "^2.1.6", "font-awesome": "^4.7.0", "hi-taskcenter": "^1.0.9", "hi-ui": "^1.1.922", "js-cookie": "^3.0.1", "js-pinyin": "^0.1.9", "lodash": "^4.17.11", "md5": "^2.3.0", "screenfull": "^6.0.0", "sortablejs": "^1.14.0", "vue": "^2.5.17", "vue-draggable-resizable": "^2.3.0", "vue-gemini-scrollbar": "^2.0.1", "vue-jstree": "^2.1.6", "vue-router": "^3.0.1", "vuex": "^3.6.2", "zhc-birt-cmps": "^2.3.13" } }
Show line notes below