DockerCompose+Jenkins+Pipeline流水线打包Vue项目(解压安装配置Node)入门

场景

DockerCompose+Jenkins+Pipeline流水线打包SpringBoot项目(解压安装配置JDK、Maven等)入门:

DockerCompose+Jenkins+Pipeline流水线打包SpringBoot项目(解压安装配置JDK、Maven等)入门-CSDN博客

以上使用流水线配置和打包springboot后台项目,如果要使用流水线和配置node打包vue项目,

可按如下步骤。

注:

博客:
霸道流氓气质-CSDN博客

实现

1、按照上面博客步骤搭建jenkins并安装node插件。

2、下载node的linux的离线压缩包

下载地址:

Node.js

这里项目编译使用的node的版本是14.16,所以下载指定版本的压缩包

Node.js — Node v14.16.1 (LTS)

下载linux上64位版本,比如这里是node-v14.16.1-linux-x64.tar.xz

然后将其解压并移动到jenkins容器映射路径下的tool目录下,使解压后的bin目录位于tool下的node目录下

这里是在windows下,所以使用解压软件管理员模式运行,如果是linux上直接运行解压命令,使路径

同上面一致即可。

3、全局工具配置-NodeJS安装

新增NodeJS,别名这里叫node,记住这个别名,后续与jenkinsfile中tool一致。

然后安装路径为

/tool/node

4、配置npm的镜像源为淘宝镜像源

为了提高下载依赖的速度,需要修改npm的镜像源

系统管理-Managed files-Add a new Config

选择类型为Npm config file

记住生成的配置文件的id和名称,后面会用到

然后就可以在配置文件的Content中进行npm的配置修改了。

比如这里修改镜像源为淘宝镜像

将registry修改为如下

registry = https://registry.npmmirror.com

然后提交保存。

5、新建任务-流水线项目,配置gitee地址,SCM以及git凭证与上面一致

然后在前端代码仓库的根目录下新建Jenkinsfile文件

然后修改内容为:

pipeline {agent anytools {nodejs 'node'}stages {stage('编译构建') {steps {nodejs(nodeJSInstallationName: 'node', configId: '14997e88-6fc1-42bb-b9e8-bc54fe8aff81') {// npm 编译安装sh 'node -v'sh 'npm install'sh 'npm run build:prod'}}}}post {always {echo '构建结束,结果:'}success {echo '构建成功'}failure {echo '构建失败'}}
}

注意这里的tools中左边是nodejs固定的,右边是对应上面安装node时的别名。

然后下面配置nodejs时nodeJSInstallationName也是指定node的别名,后面configId指定上面添加全局配置文件

时生成的id,代表npm会使用这个配置文件。

后面就是跟的具体的构建指令。

6、点击立即构建测试效果

第一次构建需要加载依赖,时间较长

构建成功之后会在相应的映射目录下生成dist包文件。

7、踩坑记录

构建时提示:

Error: Cannot find module '../lib/utils/unsupported.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:603:15)

需要将容器停掉,然后将映射路径下node下面所有文件删除,然后重新解压移动一遍,再重新启动容器。

如果是在linux上,则卸载重装node。

构建时提示:

request to https://registry.npm.taobao.org/...failed,reason:certificate has expired

这是因为一开始配置的淘宝镜像不对,网上较老的教程写的淘宝镜像过期了!

在 2021 年,淘宝就发文称,npm 淘宝镜像已经从 registry.npm.taobao.org 切换到了 registry.npmmirror.com。

旧域名也将于 2022 年 5 月 31 日停止服务(不过,直到今天 HTTPS 证书到期才真正不能用了)。

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

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

相关文章

开诊所的10个常见问题,欣九康为您一一解答!

开设一家诊所需要具备哪些条件?规定需要各种证件,而且医生执业满五年,备个案就行。听起来很简单是不是?但是,到了真正开始筹备诊所的时候,却是千头万绪,不知从何下手,到处都是问题&a…

Oracle VM VirtualBox虚拟机安装的 Linux系统中的虚拟机和Windows 10客户机时间不同步设置

遇到一个Oracle VM VirtualBox中间件过期,导致在Oracle VM VirtualBox搭建的应用启用失败。在网上找了一下,原因是:Oracle VM VirtualBox中的中间件在指定时间内才能使用,需要修改系统时间。 介绍我的环境,Windows10主…

kunpeng的aarch64架构cpu、openeuler系统、昇腾服务器适配文档转换功能(doc转docx、ppt转pptx)

一、安装flatpak sudo yum install flatpak flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo二、安装libreoffice flatpak install flathub org.libreoffice.LibreOffice三、使用 对于使用 flatpak 安装的 LibreOffice,不需要手…

科普那些199的天坑篇

科普篇。 关于199 299的小程序开发的天坑。 首先咱别太天真了,程序员可都是高薪酬,算算成本你觉得299真的现实嘛?以身入局我也试了试… 他们通过199 299的价格来吸引客户然后告诉我交300认证费然后说需要服务器,配置不同&#xf…

C语言 | Leetcode C语言题解之第148题排序链表

题目: 题解: struct ListNode* merge(struct ListNode* head1, struct ListNode* head2) {struct ListNode* dummyHead malloc(sizeof(struct ListNode));dummyHead->val 0;struct ListNode *temp dummyHead, *temp1 head1, *temp2 head2;while…

推流工具OBS的下载使用

一、下载安装 OBS,windows版本官网下载地址 二、推流步骤 安装好之后,打开软件 1、右下角,打开设置 2、输入推流地址,一般为rtmp格式开头的推流地址 输入完成后,应用并确定关闭窗口 3、“来源”里面新建媒体源、新…

Git分支打包的详细教程

以下是关于Git分支打包的详细教程,包括在本地和远程仓库中打包分支的步骤和常用命令。 在本地仓库中打包分支: a. 首先,确保你正在所需的分支上工作。使用 git branch 命令可以查看当前分支。 b. 执行命令 git archive 来打包分支。语法如下&…

《别让“想太多”挡了你的骑行路,对比一下更丝滑》

在探索骑行的世界时,我们往往会被一些先入为主的想法所束缚。本文将带你对比骑行与其他运动和生活方式,揭示那些阻碍你爱上骑行的认知误区。 一、年龄不是界限:骑行与跑步的比较与跑步相比,骑行同样适合所有年龄段,但它…

从“数据孤岛”、Data Fabric(数据编织)谈逻辑数据平台

提到逻辑数据平台,其核心在于“逻辑”,与之相对的便是“物理”。在过去,为了更好地利用和管理数据,我们通常会选择搭建数据仓库和数据湖,将所有数据物理集中起来。但随着数据量、用数需求和用数人员的持续激增&#xf…

单链表经典算法题 1

前言 学习了单链表,我们就做一些题来巩固一下。还有就是解题方法不唯一,我就只讲述为自己的方法。 目录 前言 1.移除链表元素 思路 代码 2.反转链表 思路 代码 3.链表的中间节点 思路 代码 总结 1.移除链表元素 思路 我们创建一个新的表…

docker-compose安装freeradius

freeradius docker 安装记录 docker安装freeradius #拉取镜像 docker pull freeradius/freeradius-server:latest #启动Freeradius容器 docker run -d --name freeradius-server -p 1812-1813:1812-1813/udp freeradius/freeradius-server #查看容器是否正常启动 docker ps -…

自学Java到找工作,最强学习路线,2024年最新版

本人是2024届的毕业生,自学Java的路上,也踩了不少的坑,希望在这里给小伙伴一些帮助,避免无效学习,一起进大厂! ✔学习顺序: Java基础 ➡ Java进阶 ➡ Java并发 ➡ 数据结构 ➡ MySQL ➡ JavaW…

Shell中( ),(( ))的区别

在Shell编程中,() 和 (( )) 是两种常见的操作符,它们在不同的上下文中起到不同的作用。理解这两者的区别及其应用场景,有助于编写更加高效和灵活的Shell脚本。本文将详细介绍 () 和 (( )) 的功能及其使用方法。 1. 子Shell (()) 括号 () 用于…

接口幂等性问题

接口幂等性问题 描述 接口幂等性是软件开发时常见的问题,其目的是要求确保当同一个接口被重复调用时其状态不会发生变化 示例 当前一个支付页面,不管用户在同一时间内点击多少次支付按钮,最终接口也只会生成一个支付订单,这就…

AWS 网络

Here is a more detailed explanation of AWS networking in Chinese: VPC(虚拟私有云) VPC 是一个专门为您的 AWS 账户分配的虚拟网络。您可以将 VPC 视为云端的一个虚拟数据中心。在创建 VPC 时,您可以指定以下内容: IP 地址…

长连接的钟表程序

实验要求 实现1个钟表程序(服务),多个用户可以从该程序获得时间并在本地显示,用户也可以修改时间。 (1)用户程序可以在计算机上运行,也可以在手机上运行; (2&#xff…

Java 18 的一些主要新特性

以下是 Java 18 的一些主要新特性: 简单 Web 服务器(JEP 408): Java 18 引入了一个简单的 Web 服务器,旨在帮助开发者更方便地测试和原型化。在命令行中使用 jwebserver 命令即可启动这个 Web 服务器。主要用于快速测试…

程序员如何挖掘项目开发出工具?(4)

如何利用最小的MVP(最小可行产品)模型找到第一个用户? 对许多人来说,找到第一个用户可能是整个过程中最具挑战性的部分,但在我看来,这其实是最简单的。 下面分享几个小技巧,如果你还是找不到第…

使用Kube-Bench对Kubernetes进行安全检测

使用Kube-Bench对Kubernetes进行安全检测 1. 工具介绍 Kube-Bench是一个开源的Go语言工具,用于自动化检查Kubernetes集群是否符合CIS Kubernetes基准。这些基准包括一系列关于Kubernetes配置和部署安全性的建议和最佳实践。 Kube-Bench执行了一系列针对Kubernete…

【Android】Android系统性学习——Android系统架构

前言 部分内容参考《Android进阶解密》 – 刘望舒 1. Android版本 官方链接:https://developer.android.com/studio/releases/platforms 里面有各个版本的官方文档,有些新功能的用法在这里面。 现在做安卓11,有时候需要向下兼容 2. AOSP …