build.sh 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #!/usr/bin/env bash
  2. ###
  3. # Author: shuisheng
  4. # Date: 2023-03-19 12:17:20
  5. # Description:
  6. # Email: 2274751790@qq.com
  7. # FilePath: /webrtc-live/build.sh
  8. # Github: https://github.com/galaxy-s10
  9. # LastEditors: shuisheng
  10. # LastEditTime: 2023-03-19 12:22:57
  11. ###
  12. # 生成头部文件快捷键:ctrl+cmd+i
  13. # 静态部署的项目,一般流程是在jenkins里面执行build.sh进行构建,
  14. # 构建完成后会连接ssh,执行/node/sh/frontend.sh,frontend.sh会将构建的完成资源复制到/node/xxx。
  15. # 复制完成后,frontend.sh会执行清除buff/cache操作
  16. # node项目,一般流程是在jenkins里面执行build.sh进行构建,
  17. # 构建完成后会连接ssh,执行/node/sh/node.sh,node.sh会将构建的完成资源复制到/node/xxx,并且执行/node/xxx/pm2.sh。
  18. # 最后,node.sh会执行清除buff/cache操作
  19. # 注意:JOBNAME=$1,这个等号左右不能有空格!
  20. JOBNAME=$1 #约定$1为任务名
  21. ENV=$2 #约定$2为环境
  22. WORKSPACE=$3 #约定$3为Jenkins工作区
  23. PORT=$4 #约定$4为端口号
  24. TAG=$5 #约定$5为git标签
  25. PUBLICDIR=/node #约定公共目录为/node
  26. echo 删除node_modules:
  27. rm -rf node_modules
  28. echo 查看node版本:
  29. node -v
  30. echo 查看npm版本:
  31. npm -v
  32. echo 设置npm淘宝镜像:
  33. npm config set registry https://registry.npm.taobao.org/
  34. echo 查看当前npm镜像:
  35. npm get registry
  36. if ! type pnpm >/dev/null 2>&1; then
  37. echo 'pnpm未安装,先全局安装pnpm'
  38. npm i pnpm -g
  39. else
  40. echo 'pnpm已安装'
  41. fi
  42. echo 查看pnpm版本:
  43. pnpm -v
  44. echo 设置pnpm淘宝镜像:
  45. pnpm config set registry https://registry.npm.taobao.org/
  46. pnpm config set @billd:registry http://registry.hsslive.cn/
  47. echo 查看当前pnpm镜像:
  48. pnpm config get registry
  49. pnpm config get @billd:registry
  50. echo 开始安装依赖:
  51. pnpm install
  52. if [ $ENV = 'beta' ]; then
  53. echo 开始构建测试环境:
  54. elif [ $ENV = 'preview' ]; then
  55. echo 开始构建预发布环境:
  56. elif [ $ENV = 'prod' ]; then
  57. echo 开始构建正式环境:
  58. else
  59. echo 开始构建$ENV环境:
  60. fi
  61. npx cross-env VUE_APP_RELEASE_PROJECT_NAME=$JOBNAME VUE_APP_RELEASE_PROJECT_ENV=$ENV webpack --config ./script/config/webpack.common.ts --env production