根据上篇文章《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. springboot 之 controller

    添加一个testController的java 类,部分代码 注解标记这是一个controller,配置路径,自动加载配置. 注入的方式有@Autowired 和@Resource 二者的区别是 @A ...

  2. 阿里云物联网 .NET Core 客户端 | CZGL.AliIoTClient:7. 服务调用

    文档目录: 说明 1. 连接阿里云物联网 2. IoT 客户端 3. 订阅Topic与响应Topic 4. 设备上报属性 4.1 上报位置信息 5. 设置设备属性 6. 设备事件上报 7. 服务调用 ...

  3. WEB安全字体(Web Safe Fonts)-网页设计用什么字体兼容性好?

    效果:http://sandbox.runjs.cn/show/qgdljvh4 1 Arial微软公司的网页核心字体之一,最常用的sans serif字体,当字号很小时不容易阅读.但是,大写的“I” ...

  4. ES6入门教程---解构赋值和字符串扩展

    解构赋值: ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 数组的解构赋值: 按照对应的顺序解构. var arr = [1,[2,3]]; ...

  5. [Android]Android开发艺术探索第13章笔记

    13.1 使用CrashHandler来获取应用的Crash信息 (1)应用发生Crash在所难免,但是如何采集crash信息以供后续开发处理这类问题呢? 利用Thread类的setDefaultUn ...

  6. POJ3694 Network 边双缩点+LCA+并查集

    辣鸡错误:把dfs和ldfs搞混...QAQ 题意:给定一个无向图,然后查询q次,求每次查询就在图上增加一条边,求剩余割边的个数. 先把边双缩点,然后预处理出LCA的倍增数组: 然后加边时,从u往上跳 ...

  7. codevs1026-dp(记忆化搜索)

    题目描述 Description 年轻的拉尔夫开玩笑地从一个小镇上偷走了一辆车,但他没想到的是那辆车属于警察局,并且车上装有用于发射车子移动路线的装置. 那个装置太旧了,以至于只能发射关于那辆车的移动 ...

  8. Net Core免费开源分布式异常日志收集框架Exceptionless

    asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程 https://www.cnblogs.com/yilezhu/p/9193723.htm ...

  9. 关于Memcache的连接

    addServer 在说Memcache的长连接(pconnect)和短连接(connect)之前要先说说Memcache的addServer,Memcache的addServer是增加一个服务器到连 ...

  10. AJPFX辨析GBK和UTF8的区别

    GBK编码:是指中国的中文字符,其它它包含了简体中文与繁体中文字符,另外还有一种字符“gb2312”,这种字符仅能存储简体中文字符. UTF-8编码:它是一种全国家通过的一种编码,如果你的网站涉及到多 ...