前言
在 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还没有安装好,为了安装它们:
- 创建一个 "构建一个自由风格的软件项目"
- 在项目的配置页面中: 在
构建环境
中勾选Provide Node & npm bin/ folder to PATH
,选中对应的 nodejs 版本 - 在项目的配置页面中: 在
构建
中,点击执行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,我们应该为任务运行添加一个环境变量.到 系统管理
=> 系统配置
=> 节点管理
,添加这个环境变量
PATH=$PATH:/var/jenkins_home/tools/jenkins.plugins.nodejs.tools.NodeJSInstallation/node/bin
Pipeline中使用 nodejs
在上面的步骤,我在系统设置
=> 全局工具配置
中的 Nodejs中 添加了 别名为 nodejs1430
的 Nodejs 已安装好。
创建一个流水线
的任务,进入该任务的配置中,在流水线
中我选择 Pipeline Script
pipeline {
agent any
tools {nodejs "nodejs1430"}
stages {
stage('Hello') {
steps {
sh "node -v"
}
}
}
}
保存或应用配置之后,Build 一次,看构建历史的列表的第一个,点击进去,然后点击Console Output
,应该就会输出 类似的记录
+ node -v
v14.13.0
Jenkins 一个任务可以下载多个git仓库代码,需要安装 Multiple SCMs
插件
20201103给Jenkins安装了 Blue Ocean
插件
github.io无法访问,通过站长工具 http://ping.chinaz.com/xxx.github.io, 获取到ip,然后修改 hosts
185.199.110.153 xxx.github.io
然后再访问对应的github.io站点了
简单的运行一个 nginx 容器,我只用于简单的放一些用 Sphinx
编译的静态文件
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
-
CI/CD Pipeline for a NodeJS Application with Jenkins 从这里学习到,在pipeline中的tools 可以引用
系统设置
=>全局工具配置
中的 nodejs部分 -
Jenkins Starting with Pipeline doing a Node.js test 很详细的介绍了 nodejs在pipeline中的说明