前端自动化部署方案-实践(配合shell)
以下实例项目为vue项目,其他项目当然也雷同咯
在项目中建一个这个么脚本文件

不说了,上代码
#!/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干啥用呢,看下面

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

嗯,就这些东西了,从此部署项目的时候再也不用打开FTP“选中->拖拽”了,麻烦
前端自动化部署方案-实践(配合shell)的更多相关文章
- 基于 Docker 和 GitLab 的前端自动化部署实践笔记
基于 Docker 和 GitLab 的前端自动化部署 实践笔记 随着接触的项目越来越多,在部署测试流程上重复耗时工作也越来越多,所以对前端工作的CI/CD实现愈发迫在眉睫. 前端开发由于三大框架的崛 ...
- Cobbler自动化部署最佳实践
第1章 Cobbler自动化部署最佳实践 运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统,如果不通过自动化来完成,根本是不可想象的. 面对 ...
- 自动化部署方案CICD
自动化部署方案 由于来来也的时间不久,可能对现有的部署情况不是很了解,以下是个人对POC自动化部署的设计方案. 自动化部署优点 降低成本,提高生产力,高可用,更可靠,性能优化 与gitlab持 ...
- 自动化部署-从maven到shell脚本到jenkins
Java代码自动部署 [ ①Java代码自动部署-总结简介] 代码部署是每一个软件开发项目组都会有的一个流程,也是从开发环节到发布功能必不可少的环节.对于Java开发者来说,Java代码的发布部署也是 ...
- 前端自动化部署之gulp
1.首先需要安装node+npm(这里不再叙述,网上教程一大堆) 2.gulp全局安装:npm install -g gulp 3.cd进入到你的项目目录,这里使用demo文件夹为我的示例项目 4.在 ...
- 前端自动化部署linux centOs + Jenkins + nignx + 单页面应用
Jenkins是什么? Jenkins 是一款业界流行的开源持续集成工具,广泛用于项目开发,具有自动化构建.测试和部署等功能. 准备工作 Linux centOS系统阿里云服务器一个 码云一个存放vu ...
- .NetCore基于Jenkins和Gogs的自动化部署方案
准备工作 Jenkins和gogs的安装配置可以看前两篇:Jenkins安装.配置与说明 和 gogs安装与说明(docker) 此外,因为还要安装.net core的SDK和Git工具: 安装.n ...
- ezdpl:完全依赖脚本和ssh的自动化部署方案
ezdpl是easy deployment的简写,使用简单的ssh和shell脚本来部署.升级.回滚和重新配置linux服务器. 重要提示:警告:这个项目还处于测试过程中,请仔细阅读说明,并且自己承担 ...
- (转)Cobbler自动化部署最佳实践
原文:http://www.xuliangwei.com/xubusi/446.html 运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统, ...
随机推荐
- 笔记:MYSQL四种事务隔离级。
1·未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据 脏读: 脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库 ...
- 【mac上安装&配置&使用git】
转自:https://www.jianshu.com/p/7edb6b838a2e 目录 安装git 创建ssh key.配置git 提交本地项目到GitHub 一.安装Git MAC 上安装Git主 ...
- 113. Path Sum II 输出每个具体路径
[抄题]: Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the gi ...
- Django实现支付宝支付
一 去支付宝申请 - 正式:营业执照 - 测试: 沙箱测试环境 APPID:2016092000554391 买家: esnrce2727@sandbox.com 登录和支付密码: ...
- node.js中使用 http-proxy 创建代理服务器
代理,也称网络代理,是一种特殊网络服务,允许一个终端通过代理服务与另一个终端进行非直接的连接,这样利于安全和防止被攻击. 代理服务器,就是代理网络用户去获取网络信息,就是信息的中转,负责转发. 代理又 ...
- dismiss 多个viewController
控制器堆栈是dismiss掉下面的,上面的自动就dismiss. [self.presentingViewController.presentingViewController dismissView ...
- mysql启动错误,提示crash 错误
:: mysqld_safe Starting mysqld daemon with databases from /data/mysql_data -- :: [Note] Plugin 'FEDE ...
- Android app中存储文件的路径
// 获得缓存文件路径,磁盘空间不足或清除缓存时数据会被删掉,一般存放一些临时文件 // /data/data/<application package>/cache目录 File cac ...
- Unity 游戏运行越久加载越慢
原因是某个GameObject 被调用多次DontDestroyOnLoad,表面上是调用多次没问题,实际上调用次数越多,加载速度越慢.
- Android 常用RGB值以及中英文名称
Android 常用RGB值以及中英文名称 Android 常用 RGB值以及中英文名称 颜 色 RGB 值 英文名 中文名 #FFB6C1 LightPink 浅 ...