前端妹子对我提出这种要求,我???

简介: 本文主要介绍 Jenkins部署前端项目

Jenkins前端项目部署


老样子我们画张图来了解下部署的一个大致过程:


网络异常,图片无法展示
|


从图中我们可以看出来我们需要的内容:


  • 两台服务器(一台服务器也行,这样就可以不用进行 SSH 远程调用了)


  • JenkinsNginxNode 三个工具的安装


准备好以上需要的内容,部署前端那就是 手捏把掐


1. Nginx 安装


如果服务器上已经安装了 Nginx ,这一个步骤可以跳过


Nginx下载地址:点击下载


我们将下载好的 nginx-1.9.9.tar.gz 上传到服务器上的 /usr/local

执行以下命令:


# 解压
tar -zxvf nginx-1.9.9.tar.gz
#进入nginx目录
cd nginx-1.9.9
# 配置
./configure --prefix=/usr/local/nginx
# 编译
make && make install


执行以上命令后,我们可以在 /usr/local/nginx中看到以下目录结构:


网络异常,图片无法展示
|


然后我们进入 conf/nginx.conf文件中修改下默认的监听的端口号:


网络异常,图片无法展示
|


然后输入 ./sbin/nginx 进行启动,然后我们在网页上访问http://服务器

IP:8090/,看到以下页面说明 Nginx 启动成功:


网络异常,图片无法展示
|


2. Node 安装


然后我们需要在我们的 Jenkins 所在的服务器上也安装上 NodeJS 工具,步骤如下:


网络异常,图片无法展示
|


  • 下载完我们把安装包放到服务器上的 /usr/local 目录下(存放目录没有要求)


  • 然后输入以下指令


# 解压
tar -xvf node-v14.15.1-linux-x64.tar.xz
# 建立软连接
ln -s /usr/local/node-v14.15.1-linux-x64/bin/node /usr/local/bin/
ln -s /usr/local/node-v14.15.1-linux-x64/bin/npm /usr/local/bin/


  • 测试是否安装成功


node -v
npm -v


  • 网络异常,图片无法展示
    |


3. Jenkins 配置


完成 NginxNode 的安装后,我们就可以进行下一步操作了。我们需要在 Jenkins 中安装上 NodeJS 插件:



网络异常,图片无法展示
|

然后依次点击 Manage Jenkins -> Global Tool Configuration,进行 NodeJS 的配置


网络异常,图片无法展示
|


配置里面选择我们/usr/local/node-v14.15.1-linux-x64/,因为我们已经自己安装了 Node,所以这个自动安装的选项可以取消勾选。


4. 前端部署


以上都是前期的准备工作,到这里我们就完成了前期工作的准备,接下来我们就可以来部署项目了!


  • 首先创建一个前端流水线项目:


网络异常,图片无法展示
|


然后建立Jenkinsfile构建脚本,示例如下:


//gitlab的凭证
def git_auth = "89f2087f-a034-4d39-a9ff-1f776dd3dfa8"
node {
    stage('拉取代码') {
        checkout([$class: 'GitSCM', branches: [[name: '*/master']],
        doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [],
        userRemoteConfigs: [[credentialsId: "${git_auth}", url:
        'git@192.168.66.100:cbuc_group/test_front.git']]])
    }
    stage('打包,部署网站') {
        //使用NodeJS的npm进行打包
        nodejs('nodejs12'){
            sh '''
            npm install
            npm run build
            '''
        }
        //=====以下为远程调用进行项目部署========
        sshPublisher(publishers: [sshPublisherDesc(configName: 'master_server',
        transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '',
        execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes:
        false, patternSeparator: '[, ]+', remoteDirectory: '/usr/local/nginx/html',
        remoteDirectorySDF: false, removePrefix: 'dist', sourceFiles: 'dist/**')],
        usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
    }
}


保存后我们点击 Build Now,等待一会就可以看到项目已经成功部署上去啦!


目录
相关文章
|
8月前
|
人工智能 前端开发 测试技术
AI:探究下前端组件化设计的实现方法及其重要性(一)
AI:探究下前端组件化设计的实现方法及其重要性
|
8月前
|
人工智能 缓存 前端开发
AI:探究下前端组件化设计的实现方法及其重要性(二)
AI:探究下前端组件化设计的实现方法及其重要性
|
5月前
|
存储 人工智能 自然语言处理
算法、系统和应用,三个视角全面读懂混合专家(MoE)
【8月更文挑战第17天】在AI领域,混合专家(MoE)模型以其独特结构成为推动大型语言模型发展的关键技术。MoE通过动态选择专家网络处理输入,实现条件计算。稀疏型MoE仅激活部分专家以减少计算负担;软MoE则加权合并专家输出提升模型稳定性。系统层面,MoE优化计算、通信与存储,利用并行化策略提高效率。在NLP、CV、推荐系统等领域展现强大应用潜力,但仍面临训练稳定性、可解释性等挑战。[论文链接: https://arxiv.org/pdf/2407.06204]
233 63
|
3月前
|
机器学习/深度学习 自然语言处理 数据挖掘
从理论到实践:详解GraphRAG框架下的多模态内容理解与生成
【10月更文挑战第10天】随着多媒体内容的爆炸性增长,如何有效地理解和生成跨模态的数据(如图像、文本和视频)变得越来越重要。近年来,图神经网络(GNNs)因其在处理非结构化数据方面的强大能力而受到广泛关注。在此背景下,Graph Retrieval-Augmented Generation (GraphRAG) 框架作为一种新的方法,通过结合图检索和生成模型来提升多模态内容的理解与生成效果。本文将深入探讨GraphRAG的基本原理、核心组件以及实际应用,并通过代码示例展示其在多媒体内容处理中的潜力。
406 0
|
5月前
|
机器学习/深度学习 自然语言处理 负载均衡
揭秘混合专家(MoE)模型的神秘面纱:算法、系统和应用三大视角全面解析,带你领略深度学习领域的前沿技术!
【8月更文挑战第19天】在深度学习领域,混合专家(Mixture of Experts, MoE)模型通过整合多个小型专家网络的输出以实现高性能。从算法视角,MoE利用门控网络分配输入至专家网络,并通过组合机制集成输出。系统视角下,MoE需考虑并行化、通信开销及负载均衡等优化策略。在应用层面,MoE已成功应用于Google的BERT模型、Facebook的推荐系统及Microsoft的语音识别系统等多个场景。这是一种强有力的工具,能够解决复杂问题并提升效率。
188 2
|
8月前
|
存储 缓存 算法
后端技术优化与应用研究
后端技术优化与应用研究
65 1
|
机器学习/深度学习 达摩院 数据建模
ICML 2023 | 基于模块化思想,阿里达摩院提出多模态基础模型mPLUG-2
ICML 2023 | 基于模块化思想,阿里达摩院提出多模态基础模型mPLUG-2
258 0
|
机器学习/深度学习 存储 缓存
VLDB 2022最佳研究论文:克服通信挑战,新框架SANCUS实现GNN高效训练
VLDB 2022最佳研究论文:克服通信挑战,新框架SANCUS实现GNN高效训练
114 0
|
自然语言处理 算法 数据挖掘
ACL2022 | 清华大学、DeepMind等指出现有小样本学习方法并不稳定有效,提出评价框架
ACL2022 | 清华大学、DeepMind等指出现有小样本学习方法并不稳定有效,提出评价框架
174 0
|
传感器 机器学习/深度学习 编解码
ViT强势应用 | V2X基于ViT提出了一个具有V2X通信的强大协作感知框架
在本文中研究了Vehicle-to-Everything(V2X)通信在提高自动驾驶汽车感知性能方面的应用。使用新颖的vision Transformer提出了一个具有 V2X 通信的强大协作感知框架。
ViT强势应用 | V2X基于ViT提出了一个具有V2X通信的强大协作感知框架