【Jenkins】Jenkins构建前端流水线

目录

  • 一、前言
  • 二、新建前端流水线
    • 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

在这里插入图片描述

五、访问前端页面

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

音视频H265编码; Socket通信实现N对N连接代码示例

H.265编码和Socket通信是两个不同的概念,它们分别涉及视频编码和网络通信。在实现N对N连接时,您可以将它们结合起来,但要注意每个方面的具体实现。 H.265编码(视频编码): H.265编码涉及将视频数据进行压缩…

分布式文件系统与HDFS的shell操作及查看元数据

启动hadoop和hive的metastore查看sbin的目录下的文件 执行./start-all.sh 查看相关的进程

C语言 register关键字与“傲娇的编译器”

1.作用: “建议”编译器把变量放到寄存器内,编译器不一定听你的(傲娇)!! 2.速度:寄存器>高速缓存>内存,寄存器空间很宝贵(非常非常少) 3.寄存器不支持取…

【深度学习】目标检测的全面回顾

一、说明 随着自动驾驶汽车、智能视频监控、面部检测和各种人数统计应用的兴起,对快速准确的物体检测系统的需求也在不断增长。这些系统不仅涉及识别和分类图像中的每个对象,还涉及通过在图像周围绘制适当的边界框来定位每个对象。这使得对象检测比其传统…

css基本样式的使用

1、高度和宽度 .c1{height: 300px;width: 500px; }注意事项: 宽度,支持百分比行内标签,默认无效块级标签,默认有效(即使右侧空白,也不给你占用) 块级和行内标签 css样式 标签: di…

【使用机器学习和深度学习对城市声音进行分类】基于两种技术(ML和DL)对音频数据(城市声音)进行分类(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

图片速览 DCN K-means-friendly Spaces: Simultaneous Deep Learning and Clustering

本文使用了一种交替更新网络参数和聚类中心的方法。在网络更新完成之后,对于固定的网络参数和 M,再更新当前样本的分配向量。然后根据新的分配结果如式子3.8更新聚类中心: 注:文中还有问题是否能进行凸优化的部分 CG https…

IDEA使用GIT提交代码中文日志(commit message)乱码

最近换了新的开发环境,导致提交gti中文注释乱码,遂记录一下解决方案 idea中查看git提交信息显示中文是正常的 gitee上显示乱码 本地显示也是乱码 一、命令修改编码格式 git 安装目录下执行 git config --global i18n.commitencoding utf-8git config …

SpringMvc配置静态资源访问路径

文章目录 1. 整体流程2. registry.addResourceHandler()2.1 函数分析2.2 结果演示 3. ResourceHandlerRegistration.addResourceLocations()3.1 函数分析3.2 结果演示 1. 整体流程 1. 写一个配置类继承WebMvcConfigurationSupport 2. 利用 registry.addResourceHandler("…

vscode 配置ssh 免密登录 多台服务器

0、下载vscode Visual Studio Code - Code Editing. Redefined 之前一直用pycharm 但是好像社区免费版本不能连接服务器,还要本地同步代码,比较繁琐,因此改用vscode。 1、添加ssh 添加后可以尝试登录,确认下账号密码&#xff0…

浅谈性能测试策略之银行测试

一、性能测试的四个方面 在一般的性能测试讨论中大家通常只围绕三个方面进行提问和总结:测试脚本如何编写,被测系统如何监控,性能瓶颈如何调优。大部分刚刚接触性能测试的人会纠结于脚本的编写,如何设置参数化、如何设置关联、何时…

结合ChatGPT制作PPT

今天看到圈友的一个AI分享,然后自己本身需要做一个分享的PPT。刚好那着帖子实战一下。先说下整体感受。 优点:制作成本确实会比较低,很熟练的话大概就是1分钟一个都有可能。整体流程是先找个第三方PPT制作网站,看下支不支持文本转…

C# 属性

文章目录 实例属性静态属性只读属性:内部只读属性:动态计算值的属性方式一:主动计算方式二:被动计算 快速生成属性的方法:输入propfull,按两下tab键,然后再按tab键一次修改有底纹的字段&#xf…

Spring后置处理器BeanFactoryPostProcessor与BeanPostProcessor源码解析

文章目录 一、简介1、BeanFactoryPostProcessor2、BeanPostProcessor 二、BeanFactoryPostProcessor 源码解析1、BeanDefinitionRegistryPostProcessor 接口实现类的处理流程2、BeanFactoryPostProcessor 接口实现类的处理流程3、总结 三、BeanPostProcessor 源码解析 一、简介…

6.7Jmeter5.1,非GUI模式,通过命令行传递线程数

原创文章,谢绝转载。 一、前提 本次做性能测试,需求是需要在Linux下的非GUI模式下执行。但用命令行执行时,线程数需要改变,为了执行方便,不需要每次都在脚本中修改线程数,那么线程数都需要通过参数传递&…

使用docker的常见bug

BUG1:磁盘被占满导致docker无法使用 docker ps 【查看docker能否正常使用】 正常的话会打印下图信息: 不正常的话打印如下图信息: journalctl -u docker 【查看docker无法正常使用的原因】,本次测试中遇到下图bug,意思是/var/l…

Bard:一个可以描述图像的人工智能

Bard 是一个大型语言模型,可以对各种提示和问题进行交流和生成类似人类的文本。它接受了大量的文字和代码训练,可以生成文本、翻译语言、编写不同类型的创意内容,并以信息丰富的方式回答你的问题。 Bard 还可以识别图像。它可以识别图像中的…

libvirt 热迁移流程及参数介绍

01 热迁移基本原理 1.1 热迁移概念 热迁移也叫在线迁移,是指虚拟机在开机状态下,且不影响虚拟机内部业务正常运行的情况下,从一台宿主机迁移到另外一台宿主机上的过程。 1.2 虚拟机数据传输预拷贝和后拷贝 预拷贝(pre-copy): …

星火认知大模型,让我感受到了国产AI的崛起

文章目录 一、申请和测试代码二、实测GPT4.0和星火认知大模型的对比2.1 测试网站2.2 经典问题提问对比2.3 代码问题提问对比2.4 论文问题对比2.5 评价 一、申请和测试代码 在我之前的一篇文章中,我分享了如何申请星火认知大模型的内测,并提供了一份可以…

python opencv 级联Haar多目标检测

一、基于OpenCV的haar分类器实现笑脸检测 1、Haar分类器介绍 🚀Haar分类器是一种基于机器学习的目标检测算法,它使用Haar特征描述图像中的目标。Haar特征是基于图像亮度的局部差异计算得出的,可以用来描述目标的边缘、角落和线条等特征。 使用…