Skip to content

1. 为什么集成 NodeJS 构建工具 ?

NodeJS是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

NodeJS使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。

NodeJS 的包管理器 npm。

NodeJS是运行在服务端的 JavaScript,如果你熟悉Javascript,那么你将会很容易的学会Node.js。

  • 如果你是一个前端程序员,你不懂得像PHP、Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择。
  • 如果你是后端程序员,想部署一些高性能的服务,那么学习Node.js也是一个非常好的选择。

NodeJS官网下载地址: https://nodejs.org/en/

2. NodeJS 下载安装

NodeJS官网下载地址:https://nodejs.org/en/download/

  1. 下载 node-v12.17.0-linux-x64 安装包。
bash
$ wget https://nodejs.org/dist/v12.17.0/node-v12.17.0-linux-x64.tar.xz
  1. 解压 node-v12.17.0-linux-x64 安装包。
bash
$ tar -zxvf node-v12.17.0-linux-x64.tar.xz
  1. 将解压后的 node-v12.17.0-linux-x64 文件夹放入到指定目录下。
bash
$ mv node-v12.17.0-linux-x64 /usr/local/
  1. 添加环境变量到系统文件。
bash
$ vim /etc/profile

################################### 添加以下内容 ################################################
export NODEJS_HOME=/usr/local/node-v12.17.0-linux-x64
export PATH=$PATH:NODEJS_HOME/bin
###############################################################################################
  1. 执行source 让环境变量生效。
bash
$ source /etc/profile
  1. 使用 Node 命令 查看是否生效。
bash
$ node -v 

----------------------------- 输出以下内容,代码 NodeJS 安装成功 ----------------------------------
v12.17.0
-----------------------------------------------------------------------------------------------
  1. 使用 NPM 命令 查看是否生效。
bash
$ npm -v 

----------------------------- 输出以下内容,代码 NPM 安装成功 ----------------------------------
6.13.4
-----------------------------------------------------------------------------------------------

3. Jenkins 配置 NodeJS 构建工具

  1. “系统管理", 点击“插件管理”, 点击“可选插件”,下载 NodeJS 插件

  2. “系统管理", 点击“全局工具配置”。

  3. 配置 NodeJS 构建工具

    • Name : 定义 NodeJS 在 Jenkins 名称。
    • NODEJS_HOME: NodeJS 安装地址。
  1. 点击“保存”或者“应用”。

Warning 注意:

  1. 由于图上面有2个NodeJS 配置,一个是自动安装,一个装在手动安装,自动安装的原因是因为我的 Jenkins 使用的安装方式是 K8S, 所以使用
  2. 使用 K8S 安装 Jenkins, 在容器中 NODEJS_HOME 安装目录在

4. 使用 Pipeline 实现 NodeJS 构建

  • 在 GitLab 中 jenkins-share-library 项目,创建一个 npm.Jenkinsfile 文件, 添加以下代码:
groovy
#!groovy

String buildShell = "${env.buildShell}"

pipeline {
    agent {
        node {
            label "master"
        }
    }
    stages {
        stage("build") {
            steps {
                script {
                    npmHome = tool "NPM"
                    sh """
                                export NODE_HOME=${npmHome}
                                export PATH=\$NODE_HOME/bin:\$PATH
                                ${npmHome}/bin/npm ${buildShell}"""
                }
            }
        }
    }
}
  • 在 Jenkins 创建一个流水线项目为 pipeline-nodejs-show-08

    • 添加描述: NodeJS 集成流水线
    • 参数化构建过程(选项参数), 添加以下 NodeJS 命令 :
      • NodeJS 版本命令:-v
  • 流水线配置

  • “保存”或者“应用”。

5. NodeJS 集成 Pipeline 流水线演示效果