前端shell脚本执行打包构建功能

欢迎点击领取 -《前端面试题进阶指南》:前端登顶之巅-最全面的前端知识点梳理总结

在这里插入图片描述

环境Mac iterm2命令窗口;因项目云效流水线构建node太老,不能执行单个项目的版本升级;前端框架使用vue3.2 + vite4.0.1需要node16以上支持;需要前端本地build上传;

执行shell脚本 sh publish.sh(测试环境) || sh publish.sh online(线上环境)

  1. 执行lint格式化代码操作
  2. build对应环境代码
  3. 填写commit相关信息
  4. 执行git上传指令
  5. 以上操作有误,可输入n结束命令,纠正后再次执行
#!/usr/bin/env bash

TIME=`date +"%Y-%m-%d/%H:%M:%S"`

COMMIT_MSG=''

buildStr=''

log() {
  echo "build afo log||$1"
}

exitIfNeed() {
 if [ $? -ne 0 ]; then
  log "status=failed||error=${1}" && exit 1
 fi
}

case "$1" in
 online)
  buildStr='npm run build:prod'
  ;;
 *)
  buildStr='npm run build:test'
esac

if [ -d "./dist" ];then
  echo "\033[31m ====dist文件夹已存在=======继续执行====\033[0m"
  echo -e "\033[44;37mcommand: 开始执行lint格式化... ...操作\033[0m"
  npm run lint
  exitIfNeed 'npm run lint failed!'
  read -p "您是否要重新执行打包命令(y/n): " command
  if [ "$command" == "y" ];then
  rm -rf dist
  echo -e "\033[44;37mcommand =====开始build========start=====\033[0m"
  $buildStr
  exitIfNeed 'npm run build failed!'
  fi
else
  read -p "您是否要执行打包命令(y/n): " command
  if [ "$command" == "y" ];then
  echo -e "\033[44;37mcommand: 开始执行lint格式化... ...操作\033[0m"
  npm run lint
  exitIfNeed 'npm run lint failed!'
  echo -e "\033[44;37mcommand =====开始build========start=====\033[0m"
  $buildStr
  exitIfNeed 'npm run build failed!'
  fi
fi

read -p "您是否要执行上传npm包命令(y/n): " command
if [ "$command" == "y" ];then
    read -p "请输入上传的commit信息内容: " COMMIT_MSG
    commit_msg=dev_${TIME}:${COMMIT_MSG}
    echo -e "\033[44;37mcommand: 开始执行publish... ...上传\033[0m"
    git add .
    git commit -m $commit_msg
    git pull 
    exitIfNeed 'git pull failed!'
    git push origin master
    exitIfNeed 'git push failed!'
    exit
elif [ $command == 'n' ];then
  echo -e "\033[31m程序已终止... ...end...\033[0m"
  exit
fi

exitIfNeed '====Build uboot failed!===='
exit 0
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SunnyRun!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值