Last active
February 2, 2018 09:44
-
-
Save valter-silva-au/bfd1b5a03143ccce00d2673eec356f9f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -x | |
# Credits: https://stackoverflow.com/a/37939589 | |
function version { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; } | |
JENKINS_DIR="/usr/lib/jenkins" | |
CURRENT_JENKINS_VERSION=$(java -jar "${JENKINS_DIR}/jenkins.war" --version) | |
JENKINS_VERSION=$(curl -s http://updates.jenkins-ci.org/download/war/ | grep "href='/download/war" | awk '{ print $3 }' | head -n 1 | sed "s,href='/download/war/,," | sed "s,</a></td></tr>,," | tr "/" "\n" | head -n 1 | |
) | |
if [ $(version ${CURRENT_JENKINS_VERSION}) -ge $(version "${JENKINS_VERSION}") ]; then | |
echo "Version is up to date" | |
exit 0 | |
fi | |
mkdir -p /tmp/downloads/ && cd /tmp/downloads/ \ | |
&& wget "http://updates.jenkins-ci.org/download/war/${JENKINS_VERSION}/jenkins.war" \ | |
&& sudo cp "${JENKINS_DIR}/jenkins.war" "${JENKINS_DIR}/jenkins.war.previous.version" \ | |
&& sudo systemctl stop jenkins && sudo cp /tmp/downloads/jenkins.war "${JENKINS_DIR}/jenkins.war" \ | |
&& sudo chmod 644 "${JENKINS_DIR}/jenkins.war" \ | |
&& sudo systemctl stop jenkins \ | |
&& sudo systemctl start jenkins \ | |
&& rm -rf /tmp/downloads | |
# add this line into your crontab to update Jenkins daily | |
# 0 0 * * * $HOME/update_jenkins.sh >> $HOME/update_jenkins.log |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment