前言
在 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中的說明