Mac OS 机器做为 Jenkins 节点,常见的也就两种链接方式:第一种,通过 SSH 这种方式链接(若条件允许情况下推荐使用);第二种,就是通过 Java Web 启动代理,此篇简书主要来介绍第二种自启动代理方式
- 问题:
- 如果是通过 Java Web 启动 Jenkins 代理,可能会常常遇到代理服务因为某些情况而自动断开,如果不是自动启动代理的话,就会增加人力成本
- 解决办法
- 设置 Mac OS 在服务断开时,自动重启
- 自启动的好处:在机器开机或重启、agent 断开之后都会自动启动代理
- 配置方法
-
进入
$HOME/Library/LaunchAgents
目录下,新建一个com.jenkins.agent.plist
(文件名可更改)文件,内容如下:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>KeepAlive</key> <true/> <key>Label</key> <string>com.jenkins.agent</string> <key>ProgramArguments</key> <array> <string>/usr/bin/java</string> <string>-jar</string> <string>/<your>/<path>/agent.jar</string> <string>-jnlpUrl</string> <string>http://jenkins.xxx.com/computer/<node-name>/slave-agent.jnlp</string> <string>-secret</string> <string><cipher></string> <string>-workDir</string> <string>节点的工作目录</string> </array> <key>RunAtLoad</key> <true/> <key>StandardOutPath</key> <string>/<your>/<log>/<path>/jenkins-stdout.log</string> <key>StandardErrorPath</key> <string>/<your>/<log>/<path>/jenkins-error.log</string> <key>WorkingDirectory</key> <string>节点的工作目录</string> </dict> </plist>
- 注意事项
-
WorkingDirectory
此路径必须配置,否则 Jenkins 会抛出 IO 无权限错误 -
ProgramArguments
这里字段的配置项,实际上就对应着节点的启动命令,如下图
-
- 其它的字段无需更改
- 启动服务:
launchctl load $HOME/Library/LaunchAgents/com.jenkins.agent.plist
- 终止服务:
launchctl unload $HOME/Library/LaunchAgents/com.jenkins.agent.plist
- 注意事项
-