diff options
author | Sven Gothel <[email protected]> | 2023-01-23 01:23:50 +0100 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2023-01-23 01:23:50 +0100 |
commit | 33536d1ae923149a0b7113d57cf8a96e42ab7d16 (patch) | |
tree | 6bc83c9ed1da9e6b9abceafdec608c563a19d1de /jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012 | |
parent | ee7083ecffa94be7f8753c41c6cad96d87e45d7a (diff) |
Update jenkins-server-slave-setup, i.e. our Jenkins remote nodes (agents)
Diffstat (limited to 'jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012')
13 files changed, 386 insertions, 0 deletions
diff --git a/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/README.macosx b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/README.macosx new file mode 100644 index 0000000..fd61b9f --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/README.macosx @@ -0,0 +1,44 @@ +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 + +symptoms: + - works as long the console which invoked the script is up + - works until process goes in background + +possible workarounds: + - invoke as: /usr/libexec/StartupItemContext ./script.sh + - run as root + - run with launchd + +(i tried the first option... lets see if it works) + ++++ ++++ ++++ + +Java 6 for 32bit and 64bit builds on OSX 10.10: JavaForOSX2014-001.dmg + <https://support.apple.com/kb/DL1572?locale=en_US> + ++++ ++++ ++++ + +Printer to file: + +As root: + cupsctl FileDevice=Yes + Enable 'FileDevice' in /private/etc/cups/cups-files.conf + killall -HUP cupsd + mkdir /data/lp + chown USER /data/lp + chmod ugo+rwx /data/lp + lpadmin -p lprint -E -v file:/data/lp/out.ps -P /Library/Printers/PPDs/Contents/Resources/HP\ LaserJet\ 4\ Plus.gz + diff --git a/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/java.txt b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/java.txt new file mode 100644 index 0000000..1bb74fe --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/java.txt @@ -0,0 +1,35 @@ +Current Java 6 for OSX (10.10): + +Java 6 for 32bit and 64bit builds on OSX 10.10: JavaForOSX2014-001.dmg + <https://support.apple.com/kb/DL1572?locale=en_US> + +Obsolete: +=========== + +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/Versions +rm -f CurrentJDK ; ln -s /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents CurrentJDK + +cd /System/Library/Frameworks/JavaVM.framework +rm -f Home ; ln -s /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Home . +rm -f Headers ; ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/include Headers + +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-macos64-multi-012/launch-old/macosx-startup-start-ssh-jenkins.command b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launch-old/macosx-startup-start-ssh-jenkins.command new file mode 100755 index 0000000..a33f7dc --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launch-old/macosx-startup-start-ssh-jenkins.command @@ -0,0 +1,5 @@ +#! /bin/bash + +sleep 60s + +/usr/libexec/StartupItemContext /Users/jogamp/jenkins/start-ssh-jenkins.sh diff --git a/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launch-old/start-ssh-jenkins.sh b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launch-old/start-ssh-jenkins.sh new file mode 100755 index 0000000..3434d8c --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launch-old/start-ssh-jenkins.sh @@ -0,0 +1,60 @@ +#! /bin/bash + +cd /Users/jogamp/jenkins + +scp [email protected]:/srv/jenkins/war/WEB-INF/slave.jar . + +function connect_12 { + . /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 + sshpid= + while true ; do + if [ ! -z "$sshpid" ] ; then + kill -9 $sshpid + fi + ssh -o "ServerAliveInterval 30" -o "ServerAliveCountMax 5" -o "TCPKeepAlive yes" [email protected] -L 6012:localhost:5555 -N & + sshpid=$! + java -server -Xmx1024m -jar slave.jar -jnlpUrl https://jogamp.org/chuck/computer/macosx64-NV320M-10_6-jogamp-x64-sgothel-012/slave-agent.jnlp + done +} + +function connect_13 { + . /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 + sshpid= + while true ; do + if [ ! -z "$sshpid" ] ; then + kill -9 $sshpid + fi + ssh -o "ServerAliveInterval 30" -o "ServerAliveCountMax 5" -o "TCPKeepAlive yes" [email protected] -L 6013:localhost:5555 -N & + sshpid=$! + java -server -Xmx1024m -jar slave.jar -jnlpUrl https://jogamp.org/chuck/computer/macosx64-NV320M-10_7-jogamp-x64-jre7-sgothel-013/slave-agent.jnlp + done +} + +connect_12 > macosx64-NV320M-10_6-jogamp-x64-sgothel-012.log 2>&1 & +connect_13 > macosx64-NV320M-10_6-jogamp-x64-jre7-sgothel-013.log 2>&1 & +disown $! + diff --git a/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launchd/com.jogamp.launched.load.sh b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launchd/com.jogamp.launched.load.sh new file mode 100644 index 0000000..2e4b311 --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launchd/com.jogamp.launched.load.sh @@ -0,0 +1,6 @@ +#! /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-020.plist +#launchctl load -w ~/Library/LaunchAgents/com.jogamp.launched.start-ssh-jenkins-021.plist + diff --git a/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launchd/com.jogamp.launched.start-ssh-jenkins-012.plist b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launchd/com.jogamp.launched.start-ssh-jenkins-012.plist new file mode 100644 index 0000000..650943c --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/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/macos-x86_64-jau-012.stdout.log</string> + <key>StandardErrorPath</key> + <string>/Users/jogamp/jenkins/macos-x86_64-jau-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-macos64-multi-012/launchd/com.jogamp.launched.start-ssh-jenkins-020.plist b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launchd/com.jogamp.launched.start-ssh-jenkins-020.plist new file mode 100644 index 0000000..65d0cca --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launchd/com.jogamp.launched.start-ssh-jenkins-020.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-020</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-020.sh</string> + </array> + <key>StandardOutPath</key> + <string>/Users/jogamp/jenkins/ios-x86_64-amd64-jau-020.stdout.log</string> + <key>StandardErrorPath</key> + <string>/Users/jogamp/jenkins/ios-x86_64-amd64-jau-020.stderr.log</string> +</dict> +<!-- +Manual Install: + +mkdir -p ~/Library/LaunchAgents +cp com.jogamp.launched.start-ssh-jenkins-020.plist ~/Library/LaunchAgents/ +launchctl load -w ~/Library/LaunchAgents/com.jogamp.launched.start-ssh-jenkins-020.plist +--> +</plist> + diff --git a/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launchd/com.jogamp.launched.start-ssh-jenkins-021.plist b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launchd/com.jogamp.launched.start-ssh-jenkins-021.plist new file mode 100644 index 0000000..25e1e83 --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launchd/com.jogamp.launched.start-ssh-jenkins-021.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-021</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-021.sh</string> + </array> + <key>StandardOutPath</key> + <string>/Users/jogamp/jenkins/ios-arm64-aarch64-jau-021.stdout.log</string> + <key>StandardErrorPath</key> + <string>/Users/jogamp/jenkins/ios-arm64-aarch64-jau-021.stderr.log</string> +</dict> +<!-- +Manual Install: + +mkdir -p ~/Library/LaunchAgents +cp com.jogamp.launched.start-ssh-jenkins-021.plist ~/Library/LaunchAgents/ +launchctl load -w ~/Library/LaunchAgents/com.jogamp.launched.start-ssh-jenkins-021.plist +--> +</plist> + diff --git a/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launchd/com.jogamp.launched.update.sh b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launchd/com.jogamp.launched.update.sh new file mode 100644 index 0000000..ca752e6 --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/launchd/com.jogamp.launched.update.sh @@ -0,0 +1,17 @@ +#! /bin/sh + +mkdir -p ~/Library/LaunchAgents + +launchctl unload -w ~/Library/LaunchAgents/com.jogamp.launched.start-ssh-jenkins-012.plist +#launchctl unload -w ~/Library/LaunchAgents/com.jogamp.launched.start-ssh-jenkins-020.plist +#launchctl unload -w ~/Library/LaunchAgents/com.jogamp.launched.start-ssh-jenkins-021.plist + +sleep 5 +cp com.jogamp.launched.start-ssh-jenkins-012.plist ~/Library/LaunchAgents/ +#cp com.jogamp.launched.start-ssh-jenkins-020.plist ~/Library/LaunchAgents/ +#cp com.jogamp.launched.start-ssh-jenkins-021.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-020.plist +#launchctl load -w ~/Library/LaunchAgents/com.jogamp.launched.start-ssh-jenkins-021.plist + diff --git a/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/profile.ant b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/profile.ant new file mode 100755 index 0000000..afa8511 --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/profile.ant @@ -0,0 +1,5 @@ +# /etc/profile.ant + +export ANT_PATH=/usr/local/apache-ant +export ANT_HOME=$ANT_PATH +export PATH=$ANT_PATH/bin:$PATH diff --git a/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/retired/start-ssh-jenkins-020.sh b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/retired/start-ssh-jenkins-020.sh new file mode 100755 index 0000000..c6d44eb --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/retired/start-ssh-jenkins-020.sh @@ -0,0 +1,29 @@ +#! /bin/sh + +cd /Users/jogamp/jenkins + +#scp [email protected]:/srv/jenkins/war/WEB-INF/slave.jar slave-020.jar +curl -o agent-020.jar https://jogamp.org/chuck/jnlpJars/agent.jar + +. ./profile.ant +JAVA_HOME=`/usr/libexec/java_home -version 17` +PATH=$JAVA_HOME/bin:/usr/local/bin:$PATH +export JAVA_HOME PATH +export SOURCE_LEVEL=1.8 +export TARGET_LEVEL=1.8 +export TARGET_RT_JAR=/usr/local/jre1.8.0_212/lib/rt.jar + +export GLUEGEN_CPPTASKS_FILE=make/lib/gluegen-cpptasks-ios-amd64.xml + +export SDKROOT=iphonesimulator13.2 +xcrun --show-sdk-path + +export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org" + +java -version +which git +ssh -o "ServerAliveInterval 30" -o "ServerAliveCountMax 5" -o "TCPKeepAlive yes" [email protected] -L 6020:localhost:5555 -N & +SSHPID=$! +echo Launched SSH $SSHPID +java -server -Xmx1024m -XX:+UseCompressedOops -jar agent-020.jar -jnlpUrl https://jogamp.org/chuck/computer/ios-x86_64-amd64-jau-020/slave-agent.jnlp + diff --git a/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/retired/start-ssh-jenkins-021.sh b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/retired/start-ssh-jenkins-021.sh new file mode 100755 index 0000000..2c8d348 --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/retired/start-ssh-jenkins-021.sh @@ -0,0 +1,29 @@ +#! /bin/sh + +cd /Users/jogamp/jenkins + +#scp [email protected]:/srv/jenkins/war/WEB-INF/slave.jar slave-021.jar +curl -o agent-021.jar https://jogamp.org/chuck/jnlpJars/agent.jar + +. ./profile.ant +JAVA_HOME=`/usr/libexec/java_home -version 17` +PATH=$JAVA_HOME/bin:/usr/local/bin:$PATH +export JAVA_HOME PATH +export SOURCE_LEVEL=1.8 +export TARGET_LEVEL=1.8 +export TARGET_RT_JAR=/usr/local/jre1.8.0_212/lib/rt.jar + +export GLUEGEN_CPPTASKS_FILE=make/lib/gluegen-cpptasks-ios-aarch64.xml + +export SDKROOT=iphoneos13.2 +xcrun --show-sdk-path + +export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org" + +java -version +which git +ssh -o "ServerAliveInterval 30" -o "ServerAliveCountMax 5" -o "TCPKeepAlive yes" [email protected] -L 6021:localhost:5555 -N & +SSHPID=$! +echo Launched SSH $SSHPID +java -server -Xmx1024m -XX:+UseCompressedOops -jar agent-021.jar -jnlpUrl https://jogamp.org/chuck/computer/ios-arm64-aarch64-jau-021/slave-agent.jnlp + diff --git a/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/start-ssh-jenkins-012.sh b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/start-ssh-jenkins-012.sh new file mode 100755 index 0000000..cd73f06 --- /dev/null +++ b/jenkins-server-slave-setup/nodes/sgothel-macos64-multi-012/start-ssh-jenkins-012.sh @@ -0,0 +1,27 @@ +#! /bin/sh + +cd /Users/jogamp/jenkins + +#scp [email protected]:/srv/jenkins/war/WEB-INF/slave.jar slave-012.jar +curl -o agent-012.jar https://jogamp.org/chuck/jnlpJars/agent.jar + +. ./profile.ant +JAVA_HOME=`/usr/libexec/java_home -version 17` +PATH=$JAVA_HOME/bin:/usr/local/bin:$PATH +export JAVA_HOME PATH +export SOURCE_LEVEL=1.8 +export TARGET_LEVEL=1.8 +export TARGET_RT_JAR=/usr/local/jre1.8.0_212/lib/rt.jar + +export JOGAMP_JAR_CODEBASE="Codebase: *.jogamp.org" + +export SDKROOT=macosx11.3 +xcrun --show-sdk-path + +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 -XX:+UseCompressedOops -jar agent-012.jar -jnlpUrl https://jogamp.org/chuck/computer/macos-x86_64-jau-012/slave-agent.jnlp + |