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 工作目录
-
执行构建,输出如下
bash
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分支
两个任务使用不同目录的优点:相互独立、可以并行各自处理不同的逻辑
两个任务使用想通目录的优点:节省空间,两个任务共用一个目录,只需要占用一份磁盘空间