diff options
author | Sven Gothel <[email protected]> | 2015-07-10 19:59:35 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2015-07-10 19:59:35 +0200 |
commit | e06d21b3268b1fe7d673ff904c5f7eed3507b605 (patch) | |
tree | dfa29b8fb43a8c2afaf8a9969090859e9c293bfa | |
parent | 82ae098c156930d9875fc6aef3cb377017ea8748 (diff) |
OSX 10.10 Jenkins Launch: Use 'Launchd' to start jenkins as a user agent.
Since OS X 10.10 we have to use Launchd to start jenkins as a user agent!
See subdir 'launchd' for related plist and scripts.
10 files changed, 180 insertions, 0 deletions
diff --git a/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/README.macosx b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/README.macosx index a66496e..bb7b96d 100644 --- a/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/README.macosx +++ b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/README.macosx @@ -1,3 +1,11 @@ +Since OS X 10.10 we have to use Launchd to start jenkins as a user agent! + +See subdir 'launchd' for related plist and scripts. + ++++ + +Previous: + mac has a feature called "security context" which causes the node to fail resolving domains after a while. see e.g: http://osdir.com/ml/unix-porting/2010-05/msg00000.html diff --git a/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/java.txt b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/java.txt new file mode 100644 index 0000000..0946362 --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/java.txt @@ -0,0 +1,23 @@ +java6 for 32bit builds: java_for_os_x_2013005_dp__11m4609.dmg + +See <https://jogamp.org/bugzilla/show_bug.cgi?id=1050#c8>: + +After installing Java6 (java_for_os_x_2013005_dp__11m4609.dmg) +the Java6 default location was broken. + +I had to fix this manually: + +cd /System/Library/Frameworks/JavaVM.framework/ +rm CurrentJDK ; ln -s /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents CurrentJDK + +Now fix broken links: cacerts .. etc + 172 cd /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Home/lib/security/ + 173 pwd + 174 mv cacerts cacerts.orig + 175 ls -la + 176 mv blacklist blacklist.orig + 177 mv trusted.libraries trusted.libraries.orig + 178 cp -a /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/jre/lib/security/blacklist . + 179 cp -a /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/jre/lib/security/cacerts . + 180 cp -a /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/jre/lib/security/trusted.libraries . + diff --git a/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/macosx-startup-start-ssh-jenkins.command b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launch-old/macosx-startup-start-ssh-jenkins.command index a33f7dc..a33f7dc 100755 --- a/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/macosx-startup-start-ssh-jenkins.command +++ b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launch-old/macosx-startup-start-ssh-jenkins.command diff --git a/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/start-ssh-jenkins.sh b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launch-old/start-ssh-jenkins.sh index 3434d8c..3434d8c 100755 --- a/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/start-ssh-jenkins.sh +++ b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launch-old/start-ssh-jenkins.sh diff --git a/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launchd/com.jogamp.launched.load.sh b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launchd/com.jogamp.launched.load.sh new file mode 100644 index 0000000..634497b --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launchd/com.jogamp.launched.load.sh @@ -0,0 +1,5 @@ +#! /bin/sh + +launchctl load -w ~/Library/LaunchAgents/com.jogamp.launched.start-ssh-jenkins-012.plist +launchctl load -w ~/Library/LaunchAgents/com.jogamp.launched.start-ssh-jenkins-013.plist + diff --git a/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launchd/com.jogamp.launched.start-ssh-jenkins-012.plist b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launchd/com.jogamp.launched.start-ssh-jenkins-012.plist new file mode 100644 index 0000000..d79955a --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launchd/com.jogamp.launched.start-ssh-jenkins-012.plist @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<!-- + Created w/ help of: + - http://launched.zerowidth.com/ +--> +<dict> + <key>Label</key> + <string>com.jogamp.launched.start-ssh-jenkins-012</string> + <key>UserName</key> + <string>jogamp</string> + <key>GroupName</key> + <string>staff</string> + <key>WorkingDirectory</key> + <string>/Users/jogamp/jenkins</string> + <key>ProcessType</key> + <string>Interactive</string> + <key>LaunchOnlyOnce</key> + <false/> + <key>KeepAlive</key> + <true/> + <key>AbandonProcessGroup</key> + <false/> + <key>ProgramArguments</key> + <array> + <string>/bin/sh</string> + <string>/Users/jogamp/jenkins/start-ssh-jenkins-012.sh</string> + </array> + <key>StandardOutPath</key> + <string>/Users/jogamp/jenkins/macosx64-NV320M-10_6-jogamp-x64-sgothel-012.stdout.log</string> + <key>StandardErrorPath</key> + <string>/Users/jogamp/jenkins/macosx64-NV320M-10_6-jogamp-x64-sgothel-012.stderr.log</string> +</dict> +<!-- +Manual Install: + +mkdir -p ~/Library/LaunchAgents +cp com.jogamp.launched.start-ssh-jenkins-012.plist ~/Library/LaunchAgents/ +launchctl load -w ~/Library/LaunchAgents/com.jogamp.launched.start-ssh-jenkins-012.plist +--> +</plist> + diff --git a/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launchd/com.jogamp.launched.start-ssh-jenkins-013.plist b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launchd/com.jogamp.launched.start-ssh-jenkins-013.plist new file mode 100644 index 0000000..9007394 --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launchd/com.jogamp.launched.start-ssh-jenkins-013.plist @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<!-- + Created w/ help of: + - http://launched.zerowidth.com/ +--> +<dict> + <key>Label</key> + <string>com.jogamp.launched.start-ssh-jenkins-013</string> + <key>UserName</key> + <string>jogamp</string> + <key>GroupName</key> + <string>staff</string> + <key>WorkingDirectory</key> + <string>/Users/jogamp/jenkins</string> + <key>ProcessType</key> + <string>Interactive</string> + <key>LaunchOnlyOnce</key> + <false/> + <key>KeepAlive</key> + <true/> + <key>AbandonProcessGroup</key> + <false/> + <key>ProgramArguments</key> + <array> + <string>/bin/sh</string> + <string>/Users/jogamp/jenkins/start-ssh-jenkins-013.sh</string> + </array> + <key>StandardOutPath</key> + <string>/Users/jogamp/jenkins/macosx64-NV320M-10_6-jogamp-x64-sgothel-013.stdout.log</string> + <key>StandardErrorPath</key> + <string>/Users/jogamp/jenkins/macosx64-NV320M-10_6-jogamp-x64-sgothel-013.stderr.log</string> +</dict> +<!-- +Manual Install: + +mkdir -p ~/Library/LaunchAgents +cp com.jogamp.launched.start-ssh-jenkins-013.plist ~/Library/LaunchAgents/ +launchctl load -w ~/Library/LaunchAgents/com.jogamp.launched.start-ssh-jenkins-013.plist +--> +</plist> + diff --git a/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launchd/com.jogamp.launched.update.sh b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launchd/com.jogamp.launched.update.sh new file mode 100644 index 0000000..4d415a9 --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/launchd/com.jogamp.launched.update.sh @@ -0,0 +1,9 @@ +#! /bin/sh + +mkdir -p ~/Library/LaunchAgents +cp com.jogamp.launched.start-ssh-jenkins-012.plist ~/Library/LaunchAgents/ +cp com.jogamp.launched.start-ssh-jenkins-013.plist ~/Library/LaunchAgents/ + +#launchctl load -w ~/Library/LaunchAgents/com.jogamp.launched.start-ssh-jenkins-012.plist +#launchctl load -w ~/Library/LaunchAgents/com.jogamp.launched.start-ssh-jenkins-013.plist + diff --git a/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/start-ssh-jenkins-012.sh b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/start-ssh-jenkins-012.sh new file mode 100755 index 0000000..73a0fb9 --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/start-ssh-jenkins-012.sh @@ -0,0 +1,25 @@ +#! /bin/sh + +cd /Users/jogamp/jenkins + +scp [email protected]:/srv/jenkins/war/WEB-INF/slave.jar slave-012.jar + +. /opt-share/etc/profile.ant +JAVA_HOME=`/usr/libexec/java_home -version 1.6` +PATH=$JAVA_HOME/bin:$PATH +export JAVA_HOME PATH +#JAVA7_EXE=`/usr/libexec/java_home -version 1.7.0_12`/bin/java +#export JAVA7_EXE +export SOURCE_LEVEL=1.6 +export TARGET_LEVEL=1.6 +export TARGET_RT_JAR=/opt-share/jre1.6.0_30/lib/rt.jar + +export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org" + +java -version +which git +ssh -o "ServerAliveInterval 30" -o "ServerAliveCountMax 5" -o "TCPKeepAlive yes" [email protected] -L 6012:localhost:5555 -N & +SSHPID=$! +echo Launched SSH $SSHPID +java -server -Xmx1024m -jar slave-012.jar -jnlpUrl https://jogamp.org/chuck/computer/macosx64-NV320M-10_6-jogamp-x64-sgothel-012/slave-agent.jnlp + diff --git a/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/start-ssh-jenkins-013.sh b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/start-ssh-jenkins-013.sh new file mode 100755 index 0000000..a4c3d9d --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macosx64-nv320m-012_013/start-ssh-jenkins-013.sh @@ -0,0 +1,24 @@ +#! /bin/sh + +cd /Users/jogamp/jenkins + +scp [email protected]:/srv/jenkins/war/WEB-INF/slave.jar slave-013.jar + +. /opt-share/etc/profile.ant +JAVA_HOME=`/usr/libexec/java_home -version 1.8` +PATH=$JAVA_HOME/bin:$PATH +export JAVA_HOME PATH +export SOURCE_LEVEL=1.6 +export TARGET_LEVEL=1.6 +export TARGET_RT_JAR=/opt-share/jre1.6.0_30/lib/rt.jar + +export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org" + +java -version +which git +ssh -o "ServerAliveInterval 30" -o "ServerAliveCountMax 5" -o "TCPKeepAlive yes" [email protected] -L 6013:localhost:5555 -N & +SSHPID=$! +echo Launched SSH $SSHPID +java -server -Xmx1024m -jar slave-013.jar -jnlpUrl https://jogamp.org/chuck/computer/macosx64-NV320M-10_7-jogamp-x64-jre7-sgothel-013/slave-agent.jnlp + + |