static-build.sh 1.9 KB

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