前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Jenkins一键打包部署前端应用,就是这么6!

使用Jenkins一键打包部署前端应用,就是这么6!

作者头像
macrozheng
发布2020-01-20 16:27:57
4.4K0
发布2020-01-20 16:27:57
举报
文章被收录于专栏:mall学习教程

上一次我们讲到了使用Jenkins一键打包部署SpringBoot应用,这一次我们来讲下如何一键打包部署前端应用,以Vue前端应用为例,这里我们使用mall-admin-web中的代码来进行演示。

学前准备

学习本文需要一些Jenkins和Nginx的知识,对这些不熟悉的小伙伴可以参考以下文章。

Jenkins中的自动化部署

Vue前端应用的打包需要依赖NodeJS插件,所以我们先安装并配置该插件,然后创建任务来打包部署。

安装NodeJS插件

  • 在系统设置->插件管理中选择安装插件;
  • 搜索NodeJS插件并进行安装;

配置NodeJS插件

  • 在系统设置->全局工具配置中进行插件配置;
  • 选择新增NodeJS,配置好版本号以后,点击保存即可完成设置;

创建任务

我们需要创建一个任务来打包部署我们的前端应用,这里以我的mall-admin-web项目为例。

  • 任务执行流程如下:
  • 构建一个自由风格的软件项目:
  • 在源码管理中添加Git代码仓库相关配置,这里我使用的Gitee上面的代码,地址为:https://gitee.com/macrozheng/mall-admin-web
  • 在构建环境中把我们的node环境添加进去:
  • 添加一个执行shell的构建,用于将我们的前端代码进行编译打包:
  • 构建脚本如下:
代码语言:javascript
复制
# 查看版本信息
npm -v
# 解决存放在Github上的sass无法下载的问题
SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ npm install node-sass
# 将镜像源替换为淘宝的加速访问
npm config set registry https://registry.npm.taobao.org
# 安装项目依赖
npm install
# 项目打包
npm run build
  • 添加一个使用ssh执行远程脚本的构建,用于将我们打包后的代码发布到Nginx中去:
  • 远程执行脚本如下:
代码语言:javascript
复制
docker stop nginx
echo '----stop nginx----'
rm -rf /mydata/nginx/html
echo '----rm html dir----'
cp -r /mydata/jenkins_home/workspace/mall-admin-web/dist /mydata/nginx/html
echo '----cp dist dir to html dir----'
docker start nginx
echo '----start nginx----'
  • 点击保存后,直接在任务列表中点击运行即可完成自动化部署:

遇到的坑

node-sass无法下载导致构建失败

由于node-sass的源使用的是Github上面的,经常无法访问,我们构建的时候需要单独设置node-sass的下载地址。

代码语言:javascript
复制
# linux
SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ npm install node-sass
# window
set SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ && npm install node-sass

有些依赖无法下载导致构建失败

由于npm源访问慢的问题,有些源可能会无法下载,改用淘宝的npm源即可解决。

代码语言:javascript
复制
# 设置为淘宝的镜像源
npm config set registry https://registry.npm.taobao.org
# 设置为官方镜像源
npm config set registry https://registry.npmjs.org

项目地址

https://github.com/macrozheng/mall-admin-web

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 macrozheng 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 学前准备
  • Jenkins中的自动化部署
    • 安装NodeJS插件
      • 配置NodeJS插件
        • 创建任务
        • 遇到的坑
          • node-sass无法下载导致构建失败
            • 有些依赖无法下载导致构建失败
            • 项目地址
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档