mirror of
https://github.com/jenkinsci/jenkins.git
synced 2026-11-14 12:32:15 +00:00
36 lines
1.2 KiB
Bash
Executable File
36 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
JENKINS_PLIST="/Library/LaunchDaemons/org.jenkins-ci.plist"
|
|
|
|
# Because PackageMaker just copies the components, we need to fix the permissions
|
|
chown root:wheel ${JENKINS_PLIST}
|
|
chmod 644 ${JENKINS_PLIST}
|
|
mkdir -p /Users/Shared/Jenkins
|
|
find /Users/Shared/Jenkins \( -not -user daemon -or -not -group daemon \) -print0 | xargs -0 chown daemon:daemon
|
|
|
|
# Create log directory, which can be written by Jenkins daemon
|
|
mkdir -p /var/log/jenkins
|
|
chown daemon:daemon /var/log/jenkins
|
|
|
|
# Enable log rotation by newsyslog
|
|
cat <<_EOT_ > /etc/newsyslog.d/jenkins.conf
|
|
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
|
|
# Rotate jenkins log at midnight, and preserve old logs in 3 days
|
|
/var/log/jenkins/jenkins.log 644 3 * \$D0 J
|
|
_EOT_
|
|
|
|
# Load and start the launch daemon
|
|
/bin/launchctl load -w ${JENKINS_PLIST}
|
|
|
|
# Wait for port 8080 to start accepting connections.
|
|
# But don't wait forever.
|
|
timeout=$(($(date +%s) + 60))
|
|
while [ $(date +%s) -lt $timeout ] && ! curl -s http://localhost:8080 >/dev/null; do
|
|
sleep 1
|
|
done
|
|
|
|
if [ $(date +%s) -ge $timeout ]; then
|
|
echo "Timed out waiting for Jenkins port 8080 to start listening!"
|
|
echo "Either Jenkins did not load or this system is very slow."
|
|
fi
|