【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/shecho $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.hqwc.cn/news/29190.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

133、仿真-基于51单片机太阳能热水器水温水位智能监控仪报警设计(Proteus仿真+程序+配套资料等)

方案选择 单片机的选择 方案一:STM32系列单片机控制,该型号单片机为LQFP44封装,内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ,在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节…

基于FPGA的一维卷积神经网络算法实现(1D-CNN、BNN的FPGA加速实现)

文章目录 概要网络结构一维卷积介绍(科普性质)FPGA架构FPGA端口定义操作步骤结果演示总结 概要 本文介绍一种基于FPGA的1维卷积神经网络算法加速实现的方案,其中为了进一步提升运算速度,除了第一层卷积采用的是普通卷积运算&…

在Redis主从系统中使用哨兵

一、什么是哨兵 Redis的哨兵(Sentinel)是Redis分布式系统中的一种特殊角色,用于监控和管理Redis主从复制架构中的主节点(master)和从节点(slave)。 哨兵的主要功能是确保Redis系统的高可用性。它…

语言模型的自洽性思维链推理技术

论文标题:Self-Consistency Improves Chain of Thought Reasoning in Language Models 论文链接:https://arxiv.org/abs/2203.11171 论文来源:ICLR 2023 一、概述 尽管语言模型在一系列NLP任务中展现出了显著的成功,但它们在推理能…

听GPT 讲K8s源代码--pkg(四)

/pkg/controlplane、/pkg/credentialprovider、/pkg/kubeapiserver是Kubernetes中的三个核心包,它们分别实现了不同的功能。 /pkg/controlplane包 /pkg/controlplane是Kubernetes的一个包,它包含了控制平面组件的实现,例如API Server、Contro…

Flask_自定义flask的cmd命令

创建自定义命令 from flask import Flaskapp Flask(__name__)app.cli.command() def hello():"""命令说明写这里"""print("hello python")if __name__ __main__:app.run() 执行flask --help 可以在命令查看定义的命令 注意事项&a…

请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型

请问如何用oracle触发器实现不允许新增/删除表/增加/减少/修改字段类型 给本帖投票 56211打赏收藏 分享 转发到动态举报 写回复 性能测试中发现oracle11g数据库每天22点,oralce进程CPU占用率突增>> 11 条回复 切换为时间正序 请发表友善的回复… 发表回复 microsof…

C++ 第三讲

1 >手动封装一个顺序栈类(数据元素为整形),要求私有成员属性:堆区空间的指针,用于存放数据,和一个指向栈顶元素的变量 main.cpp #include "zuoye.h"int main() {//实例化对象My_stack Stck;My_stack &st Stck;//入栈Stck…

数字图像学笔记 —— 19.肤色检测

文章目录 什么是肤色检测需要使用OpenCV函数颜色空间转换颜色范围位运算 什么是肤色检测 在没有AI之前,肤色检测是计算机视觉的一项常见任务。其根本思路是划定一个颜色区域,只要属于该颜色区域的像素就认为属于肤色。但是这种方法的精确度不高&#xf…

ubuntu中下载、构建、使用raylib

目录 先决条件 [1]下载raylib方式一方式二 构建 [1]使用终端中使用Clion中使用 先决条件 [1] ubuntu系统上需要先安装GCC, make(或者cmake)和git (下载raylib) 执行下面的命令可以安装GCC,make,cmake,git sudo apt install build-essential git #build-essential是一套工具集…

leetcode 445. Add Two Numbers II(两数相加)

用链表代表2个数字,这2个数字相加的和用链表返回。 最高位在链表的head. 思路: 1.链表逆序 数字相加是从低位到高位的,然而链表中的数字是从高位指向低位。 所以涉及到链表的逆序。 逆序之后只需从head到tail把两个链表的数字相加&#x…

Windows安装激活注意事项

选择语言、版本(Windows 10指的是专业版本)和体系结构(32位/64位),这里自行根据情况选择(如果机器预装的是Windows 10家庭中文版则选择家庭中文版,如果预装的是专业版则选择Windows 10。这样原先…