Add a script to check Jenkins plugins updates
This commit is contained in:
parent
5e4ece1e7a
commit
bf4cc41b3d
13
README.md
13
README.md
|
@ -8,6 +8,7 @@
|
|||
* [Fiber Channel](#fiber_channel)
|
||||
* [Grav](#grav)
|
||||
* [Sesame2mail](#sesame2mail)
|
||||
* [Jenkins](#jenkins)
|
||||
* [WordPress](#wordpress)
|
||||
|
||||
|
||||
|
@ -79,6 +80,18 @@ The first argument can be :
|
|||
* A file with a list of user ID (sesame), one per line.
|
||||
* A user ID (sesame), only one.
|
||||
|
||||
### Jenkins
|
||||
|
||||
#### jenkins_check_update
|
||||
|
||||
A daily cron to check [Jenkins][jenkins website]'s plugins updates.
|
||||
* It need [jenkins-cli.jar][jenkins cli].
|
||||
* If an update is available, it will create an empty file (${JENKINS_HOME}/.update_plugin), else it will ensure the "update" file is absent.
|
||||
* Be sure to monitore if this file **${JENKINS_HOME}/.update_plugin** exist !
|
||||
|
||||
[jenkins website]: https://jenkins.io/
|
||||
[jenkins cli]: https://jenkins.io/doc/book/managing/cli/#downloading-the-client
|
||||
|
||||
### WordPress
|
||||
|
||||
#### wordpress_cron
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
#!/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
|
||||
|
||||
# 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 -i -q -- "(.*)$"
|
||||
then
|
||||
touch "${JENKINS_PLUGIN_UPDATE_LOG}"
|
||||
#printf '%b\n' "Please upgrade plugins"
|
||||
else
|
||||
rm -f "${JENKINS_PLUGIN_UPDATE_LOG}"
|
||||
#printf '%b\n' "Nothing to do"
|
||||
fi
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue