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&param=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自动化构建部署相关推荐

  1. linux运维自动化脚本,linux运维自动化shell脚本小工具

    linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...

  2. 华为桌面云如何部署Linux,华为桌面云安装部署指南(19页)-原创力文档

    华为桌面云安装部署指南 技术创新,变革未来 前言 ⚫ 本章节将介绍桌面云的安装部署流程,结合实验手册具体的 操作步骤,帮助掌握桌面云的安装实施能力. 第1页 目录 1. 整体架构 2. 安装流程 第2 ...

  3. 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_ ...

  4. horizon部署linux桌面,7-horizon仪表盘服务部署

    [TOC] ## A-功能介绍 Dashboard(horizon)是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务. 它是使用python django框架开发 ...

  5. 如何搭建适合自己团队的构建部署平台

    ????  这是第 108 篇不掺水的原创,想要了解更多,请戳上方蓝色字体:政采云前端团队 关注我们吧- 本文首发于政采云前端团队博客:如何搭建适合自己团队的构建部署平台 https://www.zo ...

  6. java项目构建部署包

    博客分类: JAVA Java 工程在生产环境运行时,一般需要构建成一个jar,同时在运行时需要把依赖的jar添加到classpath中去,如果直接运行添加classpath很不方便,比较方便的是创建 ...

  7. GitHub+Vue自动化构建部署

    GitHub+Vue自动化构建部署 GitHub+Vue自动化构建 懒是第一生产力,写Vue都知道,写完了想在服务器上跑,就得npm run build,然后将生成的dist目录下的文件放到web目录 ...

  8. 【请收藏】自动化构建部署之Travis CI使用(GitHub/Travis CI/Vue)

    文章目录 CI/CD 工具 Travis CI 使用 1. 注册 2. 新建Github仓库 3. 创建vue项目 4. 配置Travis CI 5. 发布到GitHub pages Travis C ...

  9. 【请收藏】自动化构建部署之Circle CI使用(GitHub/CircleCI/Vue)

    CI/CD 工具介绍 从上图对比可以看到 各自有优缺点,Jenkins有点是免费且跨平台,而Travis CI和Circle CI是收费的,且不支持windows,但会为开源的项目免费提供一些服务,私 ...

最新文章

  1. 【神经网络】(14) MnasNet 代码复现,网络解析,附Tensorflow完整代码
  2. 第三章| 3.1文件处理
  3. 实战:基于OpenCV进行长时间曝光(内含彩蛋)
  4. php+实现群发微信模板消息_php实现发送微信模板消息的方法,php信模板消息_PHP教程...
  5. android控制音量加减命令 python_盘点5种基于Python生成的个性化语音方法
  6. ZED 相机 ORB-SLAM2安装环境配置与ROS下的调试
  7. 虚拟机上安装完成redhat后无法上网和Xshell无法连接虚拟机的问题
  8. jupyetr notebook添加anaconda虚拟环境内核(tensorflow+pytorch)
  9. opencv多通道图像转单通道
  10. Windows7下完美绿色版无损分区软件Paragon Partition Manager
  11. 串口_波特率计算字节
  12. 均值滤波器类型_[数字图像处理]图像去噪初步(1)--均值滤波器
  13. 解决wps缺少字体的问题
  14. java treemap 排序原理_Java TreeMap排序算法实例
  15. 花生壳配置代理域名访问内网API服务
  16. DPI/DFI/端口识别技术
  17. dub选项中文帮助.
  18. 抖音新版抓包方案,绕过sslpinning 直接修改so
  19. 苹果你深深的伤害了我,还不让我说
  20. c语言开发无人机自动驾驶仪,无人机自动驾驶仪.pdf

热门文章

  1. 1,2-二氨基苯行业调研报告 - 市场现状分析与发展前景预测
  2. 2021年中国中端婴儿车和婴儿车市场趋势报告、技术动态创新及2027年市场预测
  3. 用树莓派控制WS2812圣诞树灯饰
  4. 深度适配云环境,火山引擎推出云操作系统veLinux
  5. Angular 导致公司损失数十亿美元!
  6. Webpack 实现 Tree shaking 的前世今生
  7. 开源软件冲破云霄,“机智号”直升机首飞成功,还带来了第一个火星机场!...
  8. 雷军回应小米新 Logo 争议;马化腾排名第 15 位,2021 全球亿万富豪榜出炉!谷歌将停止使用甲骨文的财务软件|极客头条...
  9. 程序员过关斩将——搞定秒杀,只需要这几步!!
  10. 输入网址按回车,到底发生了什么?