vue自动化部署linux,GitHub+Vue自动化构建部署
GitHub+Vue自动化构建
懒是第一生产力,写Vue都知道,写完了想在服务器上跑,就得npm run build,然后将生成的dist目录下的文件放到web目录下,但是每次都这样搞好像很麻烦,然后懒使我决定找个新路子.
Github + WebHooks自动化部署
流程如下,在GitHub创建个项目(也可以用码云,带WebHook功能就行),在自己的服务器上部署WebHook脚本,配置GitHub的WebHook通知,当我们push到仓库时,Github会主动发送一个通知到我们的服务器,然后服务器接到通知执行我们部署的脚本,开始自动化构建.
需要的资源
GitHub账号一个
Linux服务器一台,我个人使用系统为Centos7.2
详细步骤
先配置服务器
ssh连接上服务器
安装必备环境
2.1. git:命令为yum install git
2.2. 宝塔面板:详细安装方法
2.3. node:命令为yum install nodejs
2.4. npm:命令为yum install npm
2.5. vue-cli:命令为npm install -g @vue/cli
登录面板配置WebHook
依次选择软件管理-宝塔插件-安装WebHook
image
添加Hook,名称自定义,脚本先留空
image
image
添加成功返回点击查看密钥
image
配置GitHub
新建一个自己的仓库,然后按下图依次选择
image
配置webhook
image
Payload URL在上图的宝塔面板密钥页面能看到
http://服务器ip:8888/hook?access_key=xxxxxxiHNtaNoccENzeiKGi2GuaiaxYkyhxR0Dx¶m=pull
注意最后有个param参数需要和脚本里对应起来,我这里写的是pull
服务器配置git
首先ssh上服务器,随便找个目录使用git clone将我们在GitHub上的项目clone到目录下,这里为了方便我就不添加账号专门用于管理git,正式环境一般会为git添加一个账号只用于git目录,做权限控制
编写自动化脚本
if test $1 = 'pull'
then
cd /root/myprojectgit/vueprojectlist/
git pull origin master
chown -R www:www ./
chmod -R 755 ./
npm run build
rm -rf /www/wwwroot/www.xxx.com/*
mv /root/myprojectgit/vueprojectlist/dist/* /www/wwwroot/www.xxx.com/
fi
脚本解释:如果我们传入的参数为pull就执行下面的代码
先cd到我们的项目目录下,git clone的目录
执行pull命令拉取最新的代码
将当前目录权限赋予给用户
设置读写权限
使用npm run build构建Vue项目
删除web目录下的文件(我使用mv命令会要求输入yes,即使使用管道命令也无法成功,所以直接使用了rm,正常来说需要备份再删除处理)
移动打包好的static目录和index.html文件到web目录下
测试
修改一下代码然后push到github上,然后稍等几十秒刷新网页,就可以看到我们修改后的内容,如果没有显示,我们可以在脚本里添加echo语句查看webhook日志来监控脚本是否正常运行,该功能在webhook面板有设置按钮.
懒是程序员的第一生产力
文中错误希望大家及时指出,有问题可以私信我
vue自动化部署linux,GitHub+Vue自动化构建部署相关推荐
- linux运维自动化脚本,linux运维自动化shell脚本小工具
linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...
- 华为桌面云如何部署Linux,华为桌面云安装部署指南(19页)-原创力文档
华为桌面云安装部署指南 技术创新,变革未来 前言 ⚫ 本章节将介绍桌面云的安装部署流程,结合实验手册具体的 操作步骤,帮助掌握桌面云的安装实施能力. 第1页 目录 1. 整体架构 2. 安装流程 第2 ...
- wcp mysql 密码_[wcp部署]Linux(Ubuntu)安装部署WCP
1.安装JAVA运行环境 配置环境变量及安装jdk mkdir /usr/local/java tar -zxvf jdk-8u31-linux-x64.gz #解压jdk包 mv jdk1.8.0_ ...
- horizon部署linux桌面,7-horizon仪表盘服务部署
[TOC] ## A-功能介绍 Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务. 它是使用python django框架开发 ...
- 如何搭建适合自己团队的构建部署平台
???? 这是第 108 篇不掺水的原创,想要了解更多,请戳上方蓝色字体:政采云前端团队 关注我们吧- 本文首发于政采云前端团队博客:如何搭建适合自己团队的构建部署平台 https://www.zo ...
- java项目构建部署包
博客分类: JAVA Java 工程在生产环境运行时,一般需要构建成一个jar,同时在运行时需要把依赖的jar添加到classpath中去,如果直接运行添加classpath很不方便,比较方便的是创建 ...
- GitHub+Vue自动化构建部署
GitHub+Vue自动化构建部署 GitHub+Vue自动化构建 懒是第一生产力,写Vue都知道,写完了想在服务器上跑,就得npm run build,然后将生成的dist目录下的文件放到web目录 ...
- 【请收藏】自动化构建部署之Travis CI使用(GitHub/Travis CI/Vue)
文章目录 CI/CD 工具 Travis CI 使用 1. 注册 2. 新建Github仓库 3. 创建vue项目 4. 配置Travis CI 5. 发布到GitHub pages Travis C ...
- 【请收藏】自动化构建部署之Circle CI使用(GitHub/CircleCI/Vue)
CI/CD 工具介绍 从上图对比可以看到 各自有优缺点,Jenkins有点是免费且跨平台,而Travis CI和Circle CI是收费的,且不支持windows,但会为开源的项目免费提供一些服务,私 ...
最新文章
- 【神经网络】(14) MnasNet 代码复现,网络解析,附Tensorflow完整代码
- 第三章| 3.1文件处理
- 实战:基于OpenCV进行长时间曝光(内含彩蛋)
- php+实现群发微信模板消息_php实现发送微信模板消息的方法,php信模板消息_PHP教程...
- android控制音量加减命令 python_盘点5种基于Python生成的个性化语音方法
- ZED 相机 ORB-SLAM2安装环境配置与ROS下的调试
- 虚拟机上安装完成redhat后无法上网和Xshell无法连接虚拟机的问题
- jupyetr notebook添加anaconda虚拟环境内核(tensorflow+pytorch)
- opencv多通道图像转单通道
- Windows7下完美绿色版无损分区软件Paragon Partition Manager
- 串口_波特率计算字节
- 均值滤波器类型_[数字图像处理]图像去噪初步(1)--均值滤波器
- 解决wps缺少字体的问题
- java treemap 排序原理_Java TreeMap排序算法实例
- 花生壳配置代理域名访问内网API服务
- DPI/DFI/端口识别技术
- dub选项中文帮助.
- 抖音新版抓包方案,绕过sslpinning 直接修改so
- 苹果你深深的伤害了我,还不让我说
- c语言开发无人机自动驾驶仪,无人机自动驾驶仪.pdf
热门文章
- 1,2-二氨基苯行业调研报告 - 市场现状分析与发展前景预测
- 2021年中国中端婴儿车和婴儿车市场趋势报告、技术动态创新及2027年市场预测
- 用树莓派控制WS2812圣诞树灯饰
- 深度适配云环境,火山引擎推出云操作系统veLinux
- Angular 导致公司损失数十亿美元!
- Webpack 实现 Tree shaking 的前世今生
- 开源软件冲破云霄,“机智号”直升机首飞成功,还带来了第一个火星机场!...
- 雷军回应小米新 Logo 争议;马化腾排名第 15 位,2021 全球亿万富豪榜出炉!谷歌将停止使用甲骨文的财务软件|极客头条...
- 程序员过关斩将——搞定秒杀,只需要这几步!!
- 输入网址按回车,到底发生了什么?