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 any
 tools {
        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 证书到期才真正不能用了)。

相关推荐

  1. linux 文件打包 / 分割 / 组合 /

    2024-06-14 09:10:02       29 阅读
  2. Linux安装MongoDB

    2024-06-14 09:10:02       18 阅读
  3. Linux安装Kafka

    2024-06-14 09:10:02       24 阅读
  4. vue-cli搭建项目及一些打包配置

    2024-06-14 09:10:02       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-14 09:10:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-14 09:10:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-14 09:10:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-14 09:10:02       18 阅读

热门阅读

  1. MySQL CDC

    2024-06-14 09:10:02       9 阅读
  2. 璨与序列 题解(stl,dfs)

    2024-06-14 09:10:02       8 阅读
  3. 后端主流框架--Spring

    2024-06-14 09:10:02       5 阅读
  4. 响应式网页开发方法与实践

    2024-06-14 09:10:02       6 阅读
  5. 602. 好友申请 II :谁有最多的好友

    2024-06-14 09:10:02       6 阅读
  6. AI学习指南机器学习篇-支持向量机模型评估

    2024-06-14 09:10:02       8 阅读
  7. C语言中数组和指针的关系

    2024-06-14 09:10:02       5 阅读
  8. HTML 颜色名

    2024-06-14 09:10:02       8 阅读
  9. HTML的a标签如何做返回顶部的功能

    2024-06-14 09:10:02       6 阅读
  10. 《电力网络安全事件应急预案》

    2024-06-14 09:10:02       8 阅读
  11. 百度之星2024题目记录

    2024-06-14 09:10:02       46 阅读
  12. .NET C# ‘string‘ 类型思考与解析

    2024-06-14 09:10:02       7 阅读
  13. QT day01

    QT day01

    2024-06-14 09:10:02      6 阅读