【Jenkins】Jenkins构建前端流水线

news2024/11/25 20:22:34

目录

  • 一、前言
  • 二、新建前端流水线
    • 1、点击新建任务
    • 2、填写流水线名称(这里我选择的是自由风格的软件项目),任务名称一般格式为:项目名称-前后端
    • 3、创建成功后的结果
  • 三、配置前端流水线
    • 1、进入刚创建好的任务页面中,点击配置
    • 2、General配置
    • 3、设置项目运行的节点
    • 4、源码管理
      • 4.1、如果没有配置过git账号的话,需要进行一个git账号的配置
    • 5、构建触发器(将触发器全部置为空)
    • 6、配置shell脚本
      • 6.1、shell脚本根据自己的打包需求进行配置(这里配置对应前端项目打包),下面给出参考项
      • 6.2、查看运行项目命令
    • 7、添加构建后操作
    • 8、保存后点击立即构建
    • 9、构建服务是否成功
  • 四、查看服务是否启动
    • 1、检查服务器中是否有构建成功的前端文件
    • 2、上传前端打包好的dist文件
      • 2.1、打包前端代码
      • 2.2、对dist文件目录进行压缩
      • 2.3、手动上传dist.zip至服务器
      • 2.4、解压dist.zip
    • 3、修改nginx.conf文件
      • 3.1、进入nginx.conf文件的所在位置
      • 3.2、对nginx配置文件进行修改
      • 3.3、重启nginx
  • 五、访问前端页面

一、前言

1、服务器中已安装好nginx,如没有安装,可参考此博客:【Shell脚本】Linux安装Nginx以及开机自启
2、如果已有试图,则直接新建任务;如没有视图,则新建一个视图即可。一个项目一个视图就可以

二、新建前端流水线

1、点击新建任务

在这里插入图片描述

2、填写流水线名称(这里我选择的是自由风格的软件项目),任务名称一般格式为:项目名称-前后端

在这里插入图片描述

3、创建成功后的结果

在这里插入图片描述

三、配置前端流水线

1、进入刚创建好的任务页面中,点击配置

在这里插入图片描述

2、General配置

描述:XXX前端-前端XXX服务测试环境-项目构建
创建人:创建者姓名
时间:创建时间
保持构建天数:2
保持最大构建个数:3

在这里插入图片描述

3、设置项目运行的节点

这里的节点要看Jenkins集群的具体配置,在安装Jenkins时配置的节点。现在使用的Jenkins配置为Front_Node.(如果是新搭建的Jenkins,去查看安装时配置的从节点名称)

在这里插入图片描述

4、源码管理

在这里插入图片描述

4.1、如果没有配置过git账号的话,需要进行一个git账号的配置

在这里插入图片描述
在这里插入图片描述
添加完成之后,选择你新添加的凭据即可

5、构建触发器(将触发器全部置为空)

在这里插入图片描述

6、配置shell脚本

在这里插入图片描述

6.1、shell脚本根据自己的打包需求进行配置(这里配置对应前端项目打包),下面给出参考项

#!/bin/sh

echo $PATH
node -v
npm -v
npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
npm install
npm run build-dev
cd ns-front
rm -rf ns-front.tar.gz
tar -zcvf ns-front.tar.gz *
cd ../

在这里插入图片描述

6.2、查看运行项目命令

在前端项目中的package.json中,可以看到我们在启动前端项目时,使用的命令

在这里插入图片描述
在这里插入图片描述

7、添加构建后操作

在这里插入图片描述
在这里插入图片描述

8、保存后点击立即构建

在这里插入图片描述

9、构建服务是否成功

在这里插入图片描述

四、查看服务是否启动

1、检查服务器中是否有构建成功的前端文件

在这里插入图片描述

2、上传前端打包好的dist文件

2.1、打包前端代码

npm run build

这时,目录结构中会出现dist文件目录
在这里插入图片描述

2.2、对dist文件目录进行压缩

在这里插入图片描述
在这里插入图片描述

2.3、手动上传dist.zip至服务器

在这里插入图片描述

2.4、解压dist.zip

#查看上次好的dist.zip
cd /tmp/
ls

在这里插入图片描述

#移动dist.zip
sudo mv dist.zip /usr/share/nginx/html

#切换至/usr/share/nginx/html路径下
cd /usr/share/nginx/html
ls

#解压dist.zip
sudo unzip dist.zip

在这里插入图片描述

3、修改nginx.conf文件

因为是前端,需要做映射,所以需要修改nginx的配置文件

3.1、进入nginx.conf文件的所在位置

#切换至nginx.conf路径
cd /usr/local/nginx/conf

在这里插入图片描述

3.2、对nginx配置文件进行修改

#进入nginx.conf
vi nginx.conf

输入i进行编辑,编辑完成后,按ESC,:wq保存退出即可!
在这里插入图片描述

3.3、重启nginx

进入到nginx.conf所在的上一级路径下,在进行重启nginx

#重启nginx配置文件
sudo ./sbin/nginx -s reload

#查看nginx进程
ps aux|grep nginx

在这里插入图片描述

五、访问前端页面

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/765771.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

攻击载荷、木马、蠕虫、感染型病毒,你了解多少?

恶意程序是指数字世界中带有攻击意图的程序实体,通常可以分为攻击载荷、木马、蠕虫、感染型病毒。 1.攻击载荷 攻击载荷是指攻击者发起初始攻击并建立网络连接的武器载体,按照功能可以分为投递攻击类、连接控制类、独立攻击类。 投递攻击类有远程攻击类…

电商 api 接口文档编写

1、开篇 欢迎使用ShowDoc! API格式: 备注:API必须返回如下3个字段: 参数名必选类型说明status是int状态message是string信息提示result否mix结果 2、用户相关 2.1、登录/退出 简要描述: 用户登录API 请求URL&…

HCIA-虚拟化

1、虚拟化概述 KVM是所有云平台的底座,虚拟化是所有云的基础,虚拟化只提供基础架构,云可以提供服务。 CNA是个定制的欧拉系统EulerOS,基于centos内核只保留和虚拟化相关的代码,CNA默认已经部署好kvm虚拟化的软件。CNA…

Vue3的watchEffect的妙用,与watch的区别

前言 在Vue3中,引入了Composition API,其中的watchEffect()函数是一个非常强大和灵活的工具,用于处理响应式数据的变化,使得项目更加弹性和灵活。它与watch有所不同,本文将介绍watchEffect()的定义、特点、与watch的区…

LeetCode 1183 矩阵中 1 的最大数量 (图解)

题目省略了 题解 很多题解都写的是,求正方形矩阵在原矩阵的等效位置的数量,但是不画图可能不好理解,比如我现在有个 3*3 的矩阵,需要用2*2的正方形填充 上图中我枚举了所有的点在小正方形可能出现的情况(A、B、C、D&…

Appium-Python-Client 源码剖析 (一) driver 的元素查找方法

目录 前言 源码版本:0.9 结构图: mobileby.py appium 的 webdriver.py selenium 的 webdriver.py seleniumdriver appiumdriver 前言 Appium-Python-Client是一个用于Python语言的Appium客户端库,它提供了丰富的API和功能,用于编写和…

SpringBoot整合缓存(Caffeine、Redis)

SpringBoot整合缓存 注解介绍 EnableCaching 标记在CacheManager统一配置类,需要配合Configuration使用 Cachable 标记在需要使用缓存的实现类上,一般用于查询操作。当该方法输入参数对应的缓存数据不存在与缓存引擎中(类似Redis&#x…

视频配音乐怎么制作?教你简单好用的配乐方法

在很多情况下,为视频配乐可以增强观众的情感体验,使观众更加投入到视频内容中。配乐可以增强视频的节奏和情感共鸣,使观众更容易理解和接受视频的信息。此外,配乐还可以为视频添加品味和风格,使其更具吸引力。教大家几…

人际关系处理文库 怎样与女人相处 怎样与领导相处 张胜利 岳贵安著 PDF 网盘免费...

人际关系处理文库-17部大全 怎样与男人相处、怎样与女人相处、怎样与领导相处、怎样对付小人、怎样识别谎言、怎样洞察人心、怎样变通协调、怎样出人头地、怎样对付难缠的人、怎样对付小报告、怎样广结人缘、怎样看穿陷阱、怎样笼络人心、怎样妙言善辩、怎样轻松自如、怎样善解…

Huggingface tokenizer decode batch_decode报错解决思路与分析

文章目录 摘要引出原因最初报错的解决办法batch_decode 源码decode 和 batch_decode 都可以成功运行的例子decode 和 batch_decode 不能同时成功运行的例子源码将输入转成 python list 摘要 本篇文章,由笔者最初遇到的decode报错开始,叙述笔者如何解决这…

继连续亏损后,软银依然下注机器人,今年能否在人工智能浪潮中分一杯羹?

原创 |文 BFT机器人 近日,将近7个月没露面的孙正义,现身软银集团年度股东大会并表示,软银目前账面现金有5万亿日元(约合人民币2547亿元),已准备好将防守模式转变为进攻模式,All in AI&#xff…

imazing怎么导出app,Imazing修改APP存档的方法【2023详解】

相信很多小伙伴都不清楚Imazing导出APP及能够帮助我们更好地去管理手机,还能够替换从网上下载的游戏存档,让用户可以有一个更好地体验,那么具体要如何去操作呢?下面就跟着小编一起来看看Imazing修改APP存档的方法吧。 使用软件 iM…

修改windows文件没有权限

一、问题描述:有时候我们在修改windows文件时,提示没有修改权限。 二、解决方案 修改windows的hosts文件 为例

Android平台GB28181设备接入侧音频采集推送示例

技术背景​ GB/T28181是广泛应用于视频监控行业的标准协议规范,可以在不同设备之间实现互联互通。今天我们主要探讨Android平台的Audio采集部分。 先说如何拿到数据源,在Android平台上采集音频,常用的方式如下: 1. 使用MediaRe…

LeetCode206.反转链表

LeetCode206.反转链表 一、双指针法 这道题如果再定义一个新的链表,实现链表元素的反转,其实是对内存空间的浪费 我们只需要改变链表的next指针的指向,直接将链表反转 之前链表头节点是元素1,反转之后头节点是元素5,…

Qt与Web混合开发:实现双向通信

引言 在当今的软件开发中,将Qt和Web技术结合起来进行混合开发变得越来越流行。Qt作为强大的C框架,提供了丰富的图形界面和功能库,而Web技术则提供了灵活性和跨平台的优势。结合这两种技术,我们可以开发出功能强大、具有吸引力的应…

【电路原理学习笔记】第4章:能量与功率:4.2 电路中的功率

第4章:能量与功率 4.2 电路中的功率 电能转换成热能所产生的热量,通常是电流通过电路中的电阻而产生的不必要的副产品。然而,在某些情况下,产生热量是电路的主要目的,例如,电阻式加热器。 当有电流通过电…

NLP 开源形近字算法之相似字列表(番外篇)

需求 有时候我们并不是需要返回两个字的相似,而是需要返回一个汉字的相似列表。 实现思路 我们可以分别计算所有的汉字之间的相似度,然后保留最大的前100个,放在字典中。 然后实时查询这个字典即可。 实现方式 bihuashu_2w.txt 中我们主…

BUG解决Button类不能从UnityEngine.UI中引用

Button does not contain a definition for onClick and no accessible extension method onClick accepting a first argument of type Button could be found (are you missing a using directive or an assembly reference?) 一个非常奇葩的问题;突然!!!!! using UnityEn…

什么是低代码开发平台(apaas)?低代码开发平台的价值有哪些

手码6500字,带你快速看懂:什么是低代码开发平台(apaas),低代码有哪些价值,以及低代码平台的使用逻辑和心得。 一、什么是低代码开发平台(apaas)? 低代码开发平台是一种a…