Jenkins配置前端自动打包部署全过程(若依项目)

 更新时间:2024年09月02日 09:26:57   作者:诸葛九天  
Jenkins作为一个开源的自动化服务器,广泛用于持续集成、持续部署(CI/CD)流程中,这篇文章主要给大家介绍了关于Jenkins配置前端自动打包部署(若依项目)的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下

前提说明:三台服务器: gitlab 一台     jenkins一台     项目服务器   

一、新建项目

创建一个 Freestyle Project

二、拉取 github 代码

点击 新建 Item 创建一个 Freestyle Project

在配置页面-->General,勾选[丢弃旧的构建],填写保存的构建天数和构建的最大个数

在 源码管理 处选择 git ,输入仓库地址,点击添加。

三、build 打包

Execute shell里写脚本,对前端代码进行打包压缩具体代码如下:

# 安装npm依赖并构建项目
npm --registry https://registry.npmmirror.com install
# 构建测试环境
npm run build:stage

脚本解释与写法总结:

1.我看很多博客 这里写很多,对于初学者 ,可能摸不到头脑,我该怎么写,才能自动构建到测试环境。

2.buid steps:构建步骤,也就是构建环境配置、打包进行处理。

首先前端打包问题。

Q:jenkins 从gitlab服务拉取的代码在哪里打包呐?

A:拉取的代码在这目录下      /var/lib/jenkins/workspace/

在jenkins控制台查看

,代码有了,jenkins打包,但你得安装nodejs吧  安装npm  安装依赖吧,比如你的写下面这写

 安装依赖
npm install

# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npmmirror.com

然后打包,构建测试环境。使用下面命令 

# 构建测试环境
npm run build:stage

前端打包完,会生成一个dist文件夹

好了。这就打包好了。也相当于buid 好了。

接下来,我的把这个dist文件夹发送到另一台测试环境服务器。

四、部署到测试服务器

在真实的开发场景中,Jenkins 几乎不会和前端资源放到一个服务器。大多数情况下 Jenkins 所处的服务器环境就是一个工具用的服务器,放置了一些公司中常用的工具。因此构建到指定的服务器也至关重要。

1、安装发送到远程插件

系统管理 -> 插件管理 搜索 Publish Over SSH 进行安装。

Send build artifacts over SSH

选项解释:

  • Source files:要上传到目标服务器的文件。它是一个相对路径,相对于 Jenkins 的工作目录 由于上面的 build 打包后 ,在工作目录中生成一个dist文件夹,所以这里写相对路径   **/dist/**
    写法说明
    /dist/*一个*代表 匹配dist文件夹所以文件,但是dist文件夹下面的static文件夹不会部署到测试服务器(不这样写)
    /dist/**2个* 能把dist文件夹下的所有文件夹和文件都能部署到测试服务器(我这样写的)
  • Remove prefix:移除的路径,这里移除 dist 路径
    比如:这里写    dist/    表示:我只部署dist文件夹中static 部分内容,我肯定要把dist文件夹去掉,只在测试服务器显示static文件,这就用到这个选项了。
  • Remote directory:发送到的服务端路径(这里填目标服务器发送文件夹的目标路径)

    1.这里不填:

    表示你在系统设置中,也有这个插件,已经设置过了。

    例如:我在系统设置中设置了 /opt/ruoyi       这里就不要设置了。

    你如果在设置目标路径,会重复,也就是把dist发送到 /opt/ruoyi/opt/ruoyi/dist  子文件家中了,纯属套娃了。

  • Exec command:发送成功后执行的命令(选填)

部署方式:(我就测试2种写法)

1.把整个前端dist文件夹都部署上传到测试服务器  。我这样写 :就把整个dist源文件夹发送到测试服务器就行,其他不写。

2.把部分前端dist文件夹中static文件和其他文件部署上传到测试服务器  。(比较实用)

如图:

说明:

Source files写法规则介绍:Ant User Manual   Directory-based Tasks

为了使事情更加灵活,我们添加了一个额外的功能,这使得匹配多个目录级别成为可能。这可用于匹配完整的目录树,或目录树中任何位置的文件。

为此,** 必须将用作目录的名称。

**在模式中将用作目录的名称时,它将匹配零个或多个目录。

例如: /test/**匹配 下的所有文件/目录/test/,例如/test/x.java、 或/test/foo/bar/xyz.html,但不匹配/xyz.xml

有一种“简写”——如果模式以/ 或结尾\,则** 附加 。

例如,mypackage/test/被解释为 mypackage/test/**

五、控制台看构建是否成功

总结 

到此这篇关于Jenkins配置前端自动打包部署(若依项目)的文章就介绍到这了,更多相关Jenkins配置前端自动打包部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java实现Yaml转Json示例详解

    java实现Yaml转Json示例详解

    这篇文章主要为大家介绍了java实现Yaml转Json示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • 新手初学Java List 接口

    新手初学Java List 接口

    这篇文章主要介绍了Java集合操作之List接口及其实现方法,详细分析了Java集合操作中List接口原理、功能、用法及操作注意事项,需要的朋友可以参考下
    2021-07-07
  • mybatis中使用not in与 in的写法说明

    mybatis中使用not in与 in的写法说明

    这篇文章主要介绍了mybatis中使用not in与 in的写法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • SpringMVC处理Form表单实例

    SpringMVC处理Form表单实例

    这篇文章主要介绍了使用SpringMVC处理Form表单实例,非常具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-10-10
  • Spring MVC多种情况下进行文件上传的实例

    Spring MVC多种情况下进行文件上传的实例

    上传是Web工程中很常见的功能,SpringMVC框架简化了文件上传的代码,本文给大家总结了Spring MVC多种情况下进行文件上传的实例,并通过代码示例给大家介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • java servlet结合Oracle搭建java的web开发环境

    java servlet结合Oracle搭建java的web开发环境

    今天我将与大家分享一下我学JAVA WEB写的一些小实例 ,我个人是不太喜欢书本上的晦涩的概念的,所以我花了更多的时间在一些应用实例上,我觉得这样的学习方式很适合我,由简到繁,由浅入深
    2015-12-12
  • Java Spring事务管理超详细指南

    Java Spring事务管理超详细指南

    Spring的事务管理提供了声明式事务管理,支持声明式事务的控制,简化了事务管理的复杂性,下面这篇文章主要介绍了Java Spring事务管理的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2026-01-01
  • java通过注解实现分表详解

    java通过注解实现分表详解

    这篇文章主要为大家详细介绍了java如何通过注解实现分表,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下
    2024-11-11
  • Java邮件发送超时时间过长问题的优化方案

    Java邮件发送超时时间过长问题的优化方案

    邮件发送是许多Java应用中常见的功能,尤其在用户注册、密码重置和系统通知中,对于一个高并发的系统来说,邮件发送的超时问题可能导致应用性能的下降,甚至影响用户体验,因此,本期我们将讨论Java邮件发送超时时间过长 的问题,并深入探讨其成因和优化策略
    2025-06-06
  • tcc分布式事务框架体系解析

    tcc分布式事务框架体系解析

    这篇文章主要为大家介绍了tcc分布式事务框架体系结构的解析说明,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03

最新评论