2014-10-16 115 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河