2014-10-16 97 views
1

我有Jenkins master在Windows server 2012中运行。Mac Slave - 在重启时连接到Master

我有一些windows从站。通过JNLP连接。还有一个Windows服务在这些奴隶中运行。 所以,即使我重新启动Windows从站 - 它们会在主站启动后连接到主站。真棒!

我也有一个MAC从机。目前通过Java Web开始连接。我需要像'Windows Service'for mac。我听说'launchd' 但是,当我重新启动MAC机器时,它似乎没有自动连接到主设备。这是我需要的!

我也尝试将RunAtLoad设置为True,在LaunchDaemon中将KeepAlive设置为True。它根本没有帮助。

回答

0

我唯一的问题是在启动过程中,启动launchDaemon。我不知道该怎么做。最后我想通过创建一个可执行文件来启动启动日志并在启动过程中从/etc/launchd.conf调用exe文件。它现在很好用。

4

它内置于Mac上的Jenkins JNLP;只需安装它作为一个服务:

enter image description here enter image description here

+0

什么!!?这是从何时开始的?我从来没有看到这个选项..我会尝试让你知道 – KitKarson 2015-04-03 15:18:43

1

在/ Library/LaunchAgents创建com.jenkins.slave.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>Label</key> 
     <string>com.jenkins.slave</string> 
     <key>ProgramArguments</key> 
     <array> 
       <string>/usr/bin/java</string> 
       <string>-jar</string> 
       <string>/Users/jenkins/slave.jar</string> 
       <string>-jnlpUrl</string> 
       <string>https://YOUR_JENKINS/computer/mac-os-x/slave-agent.jnlp</string> 
       <string>-noCertificateCheck</string> 
       <string>-secret</string> 
       <string>YOUR_SECRET</string> 
     </array> 
     <key>RunAtLoad</key> 
     <true/> 
     <key>KeepAlive</key> 
     <true/> 
     <key>StandardOutPath</key> 
     <string>/Users/jenkins/stdout.log</string> 
     <key>StandardErrorPath</key> 
     <string>/Users/jenkins/error.log</string> 
</dict> 
</plist> 

然后,更新YOUR_JENKINS和YOUR_SECRET凭据,负载服务通过:

sudo launchctl load /Library/LaunchAgents/com.jenkins.slave.plist 

在下一次登录时,您的从站将自动连接到Jenkins Maste河