scripts/app/jenkins_check_update

42 lines
1.2 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/sh
# This script do the following:
# Use jenkins-cli.jar
# Verify if an update is available for Jenkins plugins.
# Create a file you need to monitore.
#
# How-to use it?
# Run it with `jenkins_check_update
# Add a symlink to /etc/cron.daily
# ln -s $(pwd)/jenkins_check_update /etc/cron.daily/
JENKINS_HOME="/var/lib/jenkins"
JENKINS_CLI_JAR="${JENKINS_HOME}/war/WEB-INF/jenkins-cli.jar"
JENKINS_AUTH_FILE="/root/.jenkins.auth"
JENKINS_PLUGIN_UPDATE_LOG="${JENKINS_HOME}/.update_plugin"
if [ ! -f "${JENKINS_CLI_JAR}" ]; then
printf '%b\n' "Jenkins-cli (${JENKINS_CLI_JAR}) does not seem to be available."
exit 1
fi
if [ ! -f "${JENKINS_AUTH_FILE}" ]; then
printf '%b\n' "Jenkins authentication file (${JENKINS_AUTH_FILE}) does not seem to be available."
exit 1
fi
cd "$(dirname ${JENKINS_AUTH_FILE})" || exit
# Verify if updates are availables for plugins
if java -jar "${JENKINS_CLI_JAR}" -s http://127.0.0.1:8080 -auth @.jenkins.auth list-plugins | grep --ignore-case --quiet -- "(.*)$"
then
touch "${JENKINS_PLUGIN_UPDATE_LOG}"
#printf '%b\n' "Please upgrade plugins"
else
rm --force -- "${JENKINS_PLUGIN_UPDATE_LOG}"
#printf '%b\n' "Nothing to do"
fi
cd - > /dev/null || exit
exit 0