前端自动化部署方案-实践(配合shell)

摘要:
以下实例项目为vue项目,其他项目当然也雷同咯在项目中建一个这个么脚本文件不说了,上代码#!

以下实例项目为vue项目,其他项目当然也雷同咯

在项目中建一个这个么脚本文件

前端自动化部署方案-实践(配合shell)第1张

不说了,上代码

#!/bin/sh
handle=$1;
env=$2;
# 远程部署机 webhook
# 如果用远程机器部署的话就要用到以下方法
# preHandle(){
#     git pull orgin master
#     npm config set registry http://registry.npm.taobao.org/
#     npm install
#     npm run build-prod
# }
# 清空dist目录
emptyRemoteDist(){
    if [ $env == "prod"]
    then
        echo "[exec]remove remote:yourip folder"
        ssh root@yourip "rm -rf /www/jiketoutiao_admin/*"
    else
        echo "[exec]remove remote:yourip folder"
        ssh root@yourip "rm -rf /www/jiketoutiao_admin/*"
    fi
}
# 发送文件到正式服
transferFileToProSever(){
    echo "[exec]transfer file to product:yourip sever"
    scp -r ./dist/* root@yourip:/www/jiketoutiao_admin/
}
# 发送文件到测试服
transferFileToTestSever(){
    echo "[exec]transfer file to development::yourip sever"
    scp -r ./dist/* root@yourip:/www/jiketoutiao_admin/
}
if [ $handle == "build"]
then
    if [ $env == "prod"]
    then
        env='prod'
        echo "[exec]build ==> build production"
        npm run build-prod
        emptyRemoteDist
        transferFileToProSever
    else
        env='dev'
        echo "[exec]build ==> build development"
        npm run build
        emptyRemoteDist
        transferFileToTestSever
    fi
fi

首先你得把部署机(可能是你本地机器)的ssh公钥(~/.ssh/id_rsa.pub)配置到对应服务器(~/.ssh/authorized_keys)

命令走起就可以直接发布了

例1:发布到测试服

./deploy.sh build dev

例2:发布到正式服

./deploy.sh build prod

这些后面的参数名称自己按照爱好改就行

然后在这讲一下npm run build-prod的操作,先在package.json这样配置

"scripts": {
    "dev": "node build/dev-server.js development-server",
    "dev-prod": "node build/dev-server.js production-server",
    "build": "node build/build.js  development-server",
    "build-prod": "node build/build.js production-server"
},

其实就是在执行对应操作的时候加上自定义的参数,这些参数production-server干啥用呢,看下面

前端自动化部署方案-实践(配合shell)第2张

然后用来在项目中做一些配置,配置一些测试服正式服的域名啥的

前端自动化部署方案-实践(配合shell)第3张

嗯,就这些东西了,从此部署项目的时候再也不用打开FTP“选中->拖拽”了,麻烦

免责声明:文章转载自《前端自动化部署方案-实践(配合shell)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MFC自绘控件学习总结第二贴常用css3属性的ie兼容查看下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

spark基础知识(1)

一、大数据架构   并发计算: 并行计算: 很少会说并发计算,一般都是说并行计算,但是并行计算用的是并发技术。并发更偏向于底层。并发通常指的是单机上的并发运行,通过多线程来实现。而并行计算的范围更广,他是散布到集群上的分布式计算。 Spark内存计算比hadoop快100倍,磁盘计算快10倍,在worker节点主要基于内存进行计算,避免了不必要的磁盘io。...

shell生成随机数的几种方法

shell生成随机数的几种方法 cat random_num.sh !/bin/bash top=10 #your number toplimit number=30 #large than top; while [ "$number" -ge $top ] do number=$RANDOM done echo "$number" number2=$((...

Linux的shell下发送mail的工具

背景 项目中搭建了一套集群环境,整个集群机器的网络可用性通过一个shell脚本来进行监控。该脚本在检测网络连通性失败的情况下会打印错误日志并发送邮件通知给相关人员。那如何使用linux命令来发送邮件呢? 这里找到了一个好工具:mailx。 简介 Mailx is an intelligent mail processing system, which ha...

Shell学习(五)Shell输出命令

一、echo命令 #1、直接显示字符串 echo "It is a test" #输出:It is a test #2、显示转义字符 echo ""It is a test"" #输出:"It is a test" #3、显示变量 name=Shell echo "$name It is a test" #输出:Shell is a test #4、...

jmeter源码导入eclipse二次开发csv data set config实现从指定行开始读取)

一、Ant安装   1.官网去下载ant工具,下载地址:http://ant.apache.org/bindownload.cgi   2.下载后将ant进行解压,配置ant的环境变量,需要设置三个地方ant_home=d:/apache-ant-1.9.7path=%ANT_HOME%in;   classpath=%ANT_HOME%lib;   3....

推荐两款远程管理Linux工具(基于Windows系统)

推荐两款远程管理Linux工具(基于Windows系统) 1、Xshell 百度百科:Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。 比如我们使用CentOS...