Jenkins 添加Linux固定代理节点
实践环境
Jenkins 2.304
jdk-8u131-linux-x64.rpm
centos-release-7-9.2009.1.el7.centos.x86_64
操作步骤
安装JDK
在预新建结点机上安装JDK,并配置好相关环境变量(过程略)
新建结点
配置结点
配置好后,保存,启动结点即可。
结点配置说明
Number of executors
执行器数量,即该节点支持的最大并发构建数。建议配置成和结点逻辑CPU数一样
代理节点(非 master 节点)必须至少拥有一个执行器。如需暂时阻止其执行构建,请使用其页面右上方的临时断开此节点按钮。
对于 master 节点,设置执行器的数目为零将会阻止在其上执行构建
工作目录
代理节点需要为Jenkins提供一个专门的目录。可以在这里配置该目录在节点机上的本地路径,最好是绝对路径,比如 /var/jenkins
or c:\jenkins
。
如果使用相对路径,比如 ./jenkins-agent
,该路径相对于由launch方法提供的工作目录
-
针对由Jenkins控制启动代理进程的启动器,比如SSH,当前工作目录都是通常是一致的,比如用户主目录。 -
对于不由Jenkins控制启动的代理进程,比如通过命令行启动的内置代理, 当前工作目录可能因启动器而异。使用相对路径可能会引发问题。
注意:建议如果无特殊情况,配置为用户主目录。如果SSH连接使用的用户,无权限访问该工作目录时,会导致Jenkins无法拷贝必要文件,报类似如下错误:
java.io.IOException: Could not copy remoting.jar into '/root/jenkins' on agent
说明:错误提示中的root/jenkins
为配置的工作目录
标签
标签用来对多节点分组,标记之间用空格分隔.例如refression java6
将会把一个节点标记上regression
和java6
.
举例来说,如果你有多个Windows系统的构建节点并且你的Job也需要在Windows系统上运行,那么你可以配置所有的Windows系统节点都标记为windows
, 然后限制Job只能在label为windows
的机器上执行,这样的话你的Job就不会运行在除了Windows节点以外的其它节点之上了.
用法
控制Jenkins如何在这台机器上安排构建.
-
尽可能的使用这个节点
这是默认和常用的设置。在这种模式下,Jenkins会尽可能的使用这个节点。任何时候如果一个构建能使用这个节点构建,那么Jenkins就会使用它.
-
只允许运行绑定到这台机器的Job
这种模式下,Jenkins只会构建哪些分配到这台机器的Job。
环境变量
此处定义的环境变量将可用于该代理执行的每次构建,并将覆盖与“系统管理>>系统配置>>全局配置”定义的环境变量任何同名环境变量。LInux上变量使用语法:$NAME
或${NAME}
, WIndows上变量使用语法:%NAME%
,这些变量可以在Jenkins Job配置中使用,也可以在由构建启动的进程中使用。
Jenkins还支持一种特殊的语法BASE+EXTRA
,该语法允许在这里添加多个键值对,这些键值对将被添加到现有的环境变量中。
如下,如果你有一台PATH=/usr/bin
的机器,你可以在这里定义一个键为PATH+LOCAL_BIN
和值为/usr/LOCAL/bin
的环境变量来添加到标准PATH
中。这将导致PATH=/usr/local/bin:/usr/bin
在该节点在执行构建期间被导出,同时PATH+LOCAL_BIN=/usr/local/bin
也会被导出。
根据环境变量名称(即上述配置的“”键”)中的“EXTRA”部分的字母顺序,在“BASE”变量前面加上多个条目。
注意:如果如果该键值为空或仅为空白,则不会将其添加到环境中,也不会覆盖或重置可能已存在的同名环境变量(例如,系统定义的变量)。