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)
|
* [Fiber Channel](#fiber_channel)
|
||||||
* [Grav](#grav)
|
* [Grav](#grav)
|
||||||
* [Sesame2mail](#sesame2mail)
|
* [Sesame2mail](#sesame2mail)
|
||||||
|
* [Jenkins](#jenkins)
|
||||||
* [WordPress](#wordpress)
|
* [WordPress](#wordpress)
|
||||||
|
|
||||||
|
|
||||||
|
@ -79,6 +80,18 @@ The first argument can be :
|
||||||
* A file with a list of user ID (sesame), one per line.
|
* A file with a list of user ID (sesame), one per line.
|
||||||
* A user ID (sesame), only one.
|
* 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
|
||||||
|
|
||||||
#### wordpress_cron
|
#### 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