sh脚本部署,linux服务器一键部署vue

sh脚本实现一键部署

须知

本文针对VUE项目,后面会出Java和next项目的一键部署,也有可能出一套从环境搭建到一键部署的教程。前提条件:服务器装了Git,node,node装有cnpm(因为有些资源国内npm install下不下来)
node装cnpm命令npm install -g cnpm --registry=https://registry.npm.taobao.org
快捷命令软链sudo ln -s /usr/local/node/v14.16.0/bin/cnpm /usr/local/bin/cnpm其中这一段命令是你自己的包路径,执行完上一局之后会打印,在箭头左边/usr/local/node/v14.16.0/bin/cnpm

脚本

#! /bin/bash

dist="/opt/manage/dist/*"
jobdir="/opt/manage"
product="/opt/server/managevue"

cd ${jobdir}

d=`date "+%Y-%m-%d %H:%M:%S"`
st=`date -d "${d}" +%s`
echo "--------------------当前日期:${d}--------------------"

echo "--------------------拉取项目--------------------"
git pull origin dev
echo "--------------------拉取项目完成...--------------------"

echo "--------------------源码目录:${dist}"
echo "--------------------生产目录:${product}"

#编译项目
d=`date "+%Y-%m-%d %H:%M:%S"`
echo "--------------------开始编译项目-${d}----------------------"
npm run build --scripts-prepend-node-path=auto
d=`date "+%Y-%m-%d %H:%M:%S"`
echo "--------------------编译项目完成-${d}----------------------"


#清空发布目录的文件
echo "--------------------开始清除发布目录文件--------------------"
cd ${product}
for file in ${product}/*; do
  fileName=${file#*.}
  echo "-------------------->删除:${fileName}"
  rm -rf ${fileName}
done
echo "--------------------清除发布目录文件完成--------------------"

echo "--------------------复制文件--------------------"
#复制编译好的文件到发布目录
cp -rf ${dist} ${product}

d=`date "+%Y-%m-%d %H:%M:%S"`
##计算耗时
ed=`date -d "${d}" +%s`
tt=$[ed-st]
fen=0
second=${tt}
if((tt>60));then
  fen=$[tt/60]
  second=$((tt%60))
fi

echo "--------------------完成:${d}--------------------"
echo "--------------------耗时:${fen}分${second}秒--------------------"

执行过程

  • git与远程关联,拉取代码并执行npm install和cnpm install
  • 上传脚本并在脚本所在位置执行sudo sed -i 's/\r//' 文件名.sh(含义:Unix体系里,每行结尾只有“<换行>”,即“\n”;Windows体系里面,每行结尾是“<换行><回 车>”,即“\n\r”;上面的脚本复制到linux里面执行会被自动换行导致错误)
  • chmod -R 777 文件名.sh(含义:./无法执行,授予读写权限)
  • 加软链全局执行sudo ln -s /opt/manage/文件名.sh /usr/local/bin/runvue(前半段写自己路径)
  • 好了,全局runvue便可以自动拉代码打包发布了,注意脚本中的git pull origin dev按自己的分支调整
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阿韩想静静

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

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

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

打赏作者

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

抵扣说明:

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

余额充值