Jenkins 給任務分配 節點(Node)、設置工作空間目錄
-
創建 Freestyle project 類型 任務
-
任務配置 Node
打開任務-> Configure-> General
勾選 Restrict where this project can be run
Label Expression 填寫一個 Node 的 Label,輸入有效的 Label名字,會有提示
此處選擇 Mac,表示為設置此任務屬于 Label 中包含 Mac 的節點Node -
點擊 Advanced… 按鈕
設置 工作空間目錄
勾選 Use custom workspace
Directory 下填自定義的 工作目錄
這個任務的 工作目錄就設置為 jenkins 工作空間下 /workspace/Test 目錄 -
在 Build 模塊,添加一個 Execute shell
添加腳本輸出 WORKSPACE 工作目錄
-
執行構建,輸出如下
Running as SYSTEM
Building on the built-in node in workspace /Users/townest/.jenkins/workspace/Test
[Test] $ /bin/sh -xe /var/folders/09/x25mf3zn5cs0d6_zgdd2v7dr0000gn/T/jenkins2473616443623046485.sh
+ echo WORKSPACE=/Users/townest/.jenkins/workspace/Test
WORKSPACE=/Users/townest/.jenkins/workspace/Test
Finished: SUCCESS
可以看到輸出的 工作空間目錄為 WORKSPACE=/Users/townest/.jenkins/workspace/Test
- 設置工作空間目錄的意義
當不同的任務需要使用一個工作目錄時,兩個任務可以設置為相同的工作目錄
比如添加兩個任務 Test 和 Test_2
兩個任務構建時都會從 git 服務器拉取項目,如果不配置或者配置為不同的目錄,那么會在workspace 目錄下創建兩個不同的目錄,拉取git分支
兩個任務使用不同目錄的優點:相互獨立、可以并行各自處理不同的邏輯
兩個任務使用想通目錄的優點:節省空間,兩個任務共用一個目錄,只需要占用一份磁盤空間