Jenkins pipeline 安装Nodejs环境笔记

前言

在 docker jenkins中运行的

执行

参数

  • 安装插件 Extended Choice Parameter
  • 新建一个 pipeline(流水线)项目
  • 添加参数,类型选择 Extended Choince Parameter
  • 写一个pipeline做什么事情,选择

https://www.jenkins.io/doc/pipeline/steps/workflow-basic-steps/#dir-change-current-directory

编译

在 Jenkins的插件中心 安装 Nodejs插件

打开系统管理——管理插件——可选插件,搜索NodeJS,选择NodeJS Plugin安装

系统管理 —— 全局工具配置 —— NodeJS,选择安装nodejs,选择当前最新版本 14.3.0,命名Node 14.3.0。并选中 自动安装

地址填的是淘宝nodejs镜像地址 https://npm.taobao.org/mirrors/node/v14.3.0/node-v14.3.0-linux-x64.tar.gz

** 重要** : 在这个时候,nodejs和npm还没有安装好,为了安装它们:

  1. 创建一个 “构建一个自由风格的软件项目”
  2. 在项目的配置页面中: 在构建环境中勾选 Provide Node & npm bin/ folder to PATH ,选中对应的 nodejs 版本
  3. 在项目的配置页面中: 在构建中,点击 执行shell 并填入 node -v, 然后 执行编译

Configuring NPMRC Optional
You can add your npm settings from jenkins. Go to “Manage Jenkins” => “Managed Files” => choose npmrc and set your configuration

设置一个环境变量

通过上面的步骤,nodejs已经安装好了.但是这个安装的不是全局的,为了全部的任务可以访问到 nodejs,我们应该为任务运行添加一个环境变量.到 系统管理 => 系统配置 => 节点管理,添加这个环境变量

1
PATH=$PATH:/var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/node/bin

Pipeline中使用 nodejs

在上面的步骤,我在系统设置 => 全局工具配置 中的 Nodejs中 添加了 别名为 nodejs1430的 Nodejs 已安装好。

创建一个流水线的任务,进入该任务的配置中,在流水线中我选择 Pipeline Script

1
2
3
4
5
6
7
8
9
10
11
12
13
pipeline {
agent any

tools {nodejs "nodejs1430"}

stages {
stage('Hello') {
steps {
sh "node -v"
}
}
}
}

保存或应用配置之后,Build 一次,看构建历史的列表的第一个,点击进去,然后点击Console Output,应该就会输出 类似的记录

1
2
+ node -v
v14.13.0

Jenkins 一个任务可以下载多个git仓库代码,需要安装 Multiple SCMs 插件

20201103给Jenkins安装了 Blue Ocean 插件


github.io无法访问,通过站长工具 http://ping.chinaz.com/xxx.github.io, 获取到ip,然后修改 hosts

1
185.199.110.153 xxx.github.io

然后再访问对应的github.io站点了


简单的运行一个 nginx 容器,我只用于简单的放一些用 Sphinx编译的静态文件

1
2
3
4
5
6
sudo docker pull nginx

sudo docker run --rm -d -p 82:80 --name nginx-test-web \
-v /home/nginx/www:/usr/share/nginx/html \
-v /home/nginx/logs:/var/log/nginx \
nginx

References