根据上篇文章《Linux下Jenkins与GitHub自动构建NetCore与部署》,我们知道了Jenkins的强大功能,自动构建,部署了一个NetCore的Web,让开发人员专注于开发,不用管理线上,或测试服务器的部署。那现在,互联网公司很多采用了前后端分离的开发模式,既然服务端可以用Jenkins,那么前端是否也可以吗?那我们就尝试下,试着去构建一个Vue的基本项目。

1. 构建环境

对于整个linux环境是什么样的,我就不多讲了,不懂就看上一篇文章,不过这边还是要讲2点:

  • Node的安装

    附赠安装教程链接,不过压缩包要上传到服务器,可以使用Xshell或者ftp,当然也可以wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz,然后再进行解压操作,具体就看文章吧。

    环境 地址
    Node https://www.cnblogs.com/liuqi/p/6483317.html

    安装完后,查看node版本

  • Jenkins的Node插件

    对于Node项目的构建,我们需要安装Jenkins的Node插件。

    1. 在Jenkins的“系统管理”找到“插件管理”,再找的“NodeJs”的插件,安装即可。

    2. 接着我们在“全局工具配置” ,设置我们要执行的Node版本,当然,要跟我们刚才安装的版本一致。

2. Jenkins自动构建

  • 定时构建

    在我们完成第一个步骤后,我们就可以开始新建项目,然后设置参数,启动构建了。

    1. 创建任务

    2. 自定义工作目录

    3. 设置源代码

      这边的源代码,我采用的是之前的一个Vue版的博客园WebApp,顺便这边也推广下,附上博客地址:《我用Vue写了个博客园WebApp

    4. 设置构建触发器

      接下来我们为构建设置一个定时器,定时的规则,在上篇文章也讲过了,这边就不多讲了,大家看上一篇文章即可,这边设置了下,3分钟自动构建一次。

    5. 设置构建环境

      这边的环境就选择,刚才我们在“全局工具配置”中设置的Node的版本就可以了。

    6. 设置要执行构建的命令

      执行命令当然是Node的命令了,安装依赖包,编译,打包。

      1. cd /ftpfile/node/vue/ #进入Jenkins工作空间下vue项目目录 


      2. node -v #检测node版本(此条命令非必要) 


      3. npm -v #检测npm版本(此条命令非必要) 


      4. npm config set registry https://registry.npm.taobao.org #把npm源设置为淘宝源(这个你懂的) 


      5. npm config get registry #检测npm是否切换成功(此条命令非必要) 


      6. npm install #安装项目中的依赖 


      7. npm run build #打包 


    7. 构建

      一切准备就绪,点击构建,构建完成。你可以将打包的文件移到web网站那边,当然,也可以在构建命令中使用命令复制。





  • 触发构建

    对于触发构建,我们在上篇博客也讲过,对于触发构建的条件,这边就不在多讲了,大家可以去看上篇文章。我在在这边只需要先在GitHub先添加WebHook,然后修改构建触发器就可以了。

    1. 添加WebHook

    2. 修改构建触发器



    3. 提交代码,自动构建



3. 项目部署

对于项目的部署,其实没啥好讲的,以前在将Vue博客园里面讲过了,大家可以往前翻下文章。简单来讲就是,使用nginx进行反向代理,因为你不是已经打包了嘛,只剩下静态页面,与JS。当然如果你觉得自动构建生成的dist不在指定位置,那可以在构建命令中,打包完,压缩下,然后复制到指定目录,解压就可以了。

所以这边就不在多多描述了。

4. 总结一下

该篇内容较少,因为很多内容其实都在上一篇讲完了,对于Node的构建,无非就是Jenkins加上Node插件,但前提是你的服务器要安装NodeJs,对于构建步骤都是一样的,无非就是构建命令不一样而已,Web部署也都是Nginx,当然还可以使用supervisor进行守护进程。

最后,我们的前后端分离的自动构建与部署就这样完成了。简单吧,当然若是存在跨域的问题,可以内容再用nginx做跨域,或者服务端直接开CROS就可以了。那两篇关于前后端的自动构建与线上部署就这样完成咯。

Linux下Jenkins与GitHub自动构建Node项目(Vue)的更多相关文章

  1. Linux下Jenkins与GitHub自动构建NetCore与部署

    今天我们来谈谈NetCore在Linux底下的持续集成与部署.NetCore我就不多介绍了,持续集成用的是Jenkins,源代码管理器用的是GitHub.我们就跟着博文往下走吧. 1.Linux环境 ...

  2. Linux下Jenkins+git+gradle持续集成环境搭建

    Linux下Jenkins+git+gradle持续集成环境搭建 来源:IT165收集  发布日期:2014-08-22 21:45:50 我来说两句(0)收藏本文   一.项目介绍 和 linux ...

  3. Linux下Git和GitHub使用方法总结

    来源:Linux下Git和GitHub使用方法总结 1 Linux下Git和GitHub环境的搭建 第一步: 安装Git,使用命令 “sudo apt-get install git” 第二步: 到G ...

  4. 【Jenkins】linux下Jenkins集成ant进行编译并发送结果

    三个文章吧: 1 如何使用ant编译执行jmeter测试用例,并生成html报告 2 如何在Linux下搭建jenkins环境. 3 如何在Linux下搭建的jenkins中执行ant构建运行,并发送 ...

  5. linux下通过脚本实现自动重启程序的方法

    无论什么程序都不可能完美无缺,理论上,任何程序都有 Core Dump 的一天,正式运营的程序,尤其是服务器程序,一旦 Core Dump ,后果不堪设想,有过服务器开发经验的朋友,一定都经历过深夜美 ...

  6. Linux下Tomcat catalina.out自动归档,以及logrotate 配置详解

    Linux下Tomcat catalina.out自动归档 如果 catalina.out 日志达到 2GB 大小的时候,Tomcat 因为缓存问题,便没有办法继续输出日志了.  为了避免这种情况,你 ...

  7. Yeoman自动构建js项目

    Aug 19, 2013 Tags: bowergruntJavascriptjsnodejsyeomanyo Comments: 10 Comments Yeoman自动构建js项目 从零开始nod ...

  8. 向github项目push代码后,Jenkins实现其自动构建

    配置Jenkins(添加Github服务器) 1.进入[系统管理] --> [系统设置] ,找到[Github] 2.添加Github服务器 这里需要github提供一个密钥文本,我们去gith ...

  9. 环境部署(七):linux下Jenkins+Git+JDK持续集成

    前面几篇博客介绍了linux下安装Jenkins.Git.JDK以及Git基础教程和Git关联github等内容,这篇博客,介绍下如何在linux服务器中利用它们构建持续集成环境... 一.准备工作 ...

随机推荐

  1. mysql 快速导入大SQL文件

    进入mysql mysql -u root -p 创建数据库 CREATE DATABASE 数据库名; 设置参数 set sql_log_bin=OFF;//关闭日志 ;//关闭autocommit ...

  2. 洛谷P3293 [SCOI2016]美味(主席树)

    传送门 据说这题做法叫做可持久化trie树?(然而我并不会) 首先考虑一下贪心,从高位到低位枚举,如果能选1肯定比选0优 假设已经处理到了$b$的第$i$位,为1(为0的话同理就不说了) 那么只有当$ ...

  3. 前端三部曲之Html -- 1(html的基本结构和常见的meta标签的作用)

    一个H5页面的基本结构是什么 我么在编辑器中输入html:5可以得到 <!DOCTYPE html> <!-- 声明文档类型 --> <html lang="e ...

  4. python 之 函数 生成器

    5.10 生成器 函数内有yield关键字,再调用函数就不会立刻执行函数体代码,会得到一个返回值,该返回值就是生成器,生成器本质就是迭代器 def chicken():    print('===== ...

  5. ubuntu18.04中mysql的安装及远程连接配置

    1.ubuntu 18.04 下mysql的安装 sudo apt install mysql-server 2.mysql 安装配置 sudo mysql_secure_installation 参 ...

  6. JavaScript进阶 - 第6章 事件响应,让网页交互

    6-1什么是事件 JavaScript 创建动态页面.事件是可以被 JavaScript 侦测到的行为. 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件. 比如说,当用 ...

  7. js 创建方法

    贴个代码先: function O(user,pwd){ //use constructor this.user=user; this.pwd=pwd; this.get=get; return th ...

  8. 【ZROI 537】贪心题 题解

    [ZROI 537]贪心题 题解 Link Solution 最大的一边直接放到一起贪心即可 着重讲小的一边 已知对于二分图匹配,其答案即为最大流 令时间集合为 \(T = {1,2,3,\dots, ...

  9. Luogu P3166 [CQOI2014]数三角形 组合数学

    好题鸭.. 不好直接求三角形个数,那就用全集-补集,转化为求三点共线的数量. 具体求法是求出水平共线数量与竖直共线数量和斜线共线数量. 用排列组合的知识可知为水平和竖直的为$C_n^3$​与$C_m^ ...

  10. 首次开发H5长图页总结

    首次开发H5长图页总结. 资源统一加载 资源统一加载, 分开获取 定义资源标识符 在src/resources目录下 定义各个资源模块. 在Asset.js中获取定义好的所有模块, 循环出具体的文件路 ...