static-build.sh 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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-desk/deploy/static-build.sh
  8. # Github: https://github.com/galaxy-s10
  9. # LastEditTime: 2024-06-07 01:16:11
  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 当前目录:
  24. pwd
  25. echo 删除node_modules:
  26. rm -rf node_modules
  27. echo 查看node版本:
  28. node -v
  29. echo 查看npm版本:
  30. npm -v
  31. echo 设置npm淘宝镜像:
  32. npm config set registry https://registry.npmmirror.com/
  33. echo 查看当前npm镜像:
  34. npm get registry
  35. if ! type pnpm >/dev/null 2>&1; then
  36. echo 'pnpm未安装,先全局安装pnpm'
  37. npm i pnpm -g
  38. else
  39. echo 'pnpm已安装'
  40. fi
  41. echo 查看pnpm版本:
  42. pnpm -v
  43. echo 设置pnpm淘宝镜像:
  44. pnpm config set registry https://registry.npmmirror.com/
  45. pnpm config set @billd:registry https://registry.hsslive.cn/
  46. echo 查看当前pnpm镜像:
  47. pnpm config get registry
  48. pnpm config get @billd:registry
  49. echo 开始安装依赖:
  50. pnpm install
  51. if [ $ENV = 'beta' ]; then
  52. echo 开始构建测试环境:
  53. elif [ $ENV = 'preview' ]; then
  54. echo 开始构建预发布环境:
  55. elif [ $ENV = 'prod' ]; then
  56. echo 开始构建正式环境:
  57. else
  58. echo 开始构建$ENV环境:
  59. fi
  60. npx cross-env VUE_APP_RELEASE_PROJECT_NAME=$JOBNAME VUE_APP_RELEASE_PROJECT_ENV=$ENV npm run deploy:prod