Skip to content

Instantly share code, notes, and snippets.

@Murazaki
Last active February 20, 2022 16:25
Show Gist options
  • Save Murazaki/7ccc7fdd1314af99e1eacc968c9e8a29 to your computer and use it in GitHub Desktop.
Save Murazaki/7ccc7fdd1314af99e1eacc968c9e8a29 to your computer and use it in GitHub Desktop.
Script to update jenkins.war to latest when using Jenkins docker
#! /bin/sh
backup_folder="./backup"
jenkins_war="./jenkins.war"
backup_name="jenkins.war.$(date +"%Y_%m_%d_%H_%M_%S")"
mkdir -p $backup_folder
if [ "$(ls -A $backup_folder)" ]; then
latest_backup=$(ls -t1 $backup_folder | head -n 1)
latest_backup_sha1sum=$(sha1sum $backup_folder/$latest_backup | awk '{print $1;}')
current_sha1sum=$(sha1sum $jenkins_war | awk '{print $1;}')
echo "$latest_backup_sha1sum"
echo "$current_sha1sum"
if [ "$latest_backup_sha1sum" = "$current_sha1sum" ]; then
echo "File is identical to latest backup, skipping backup"
backup_name=$latest_backup
else
echo "New backup. Backing up to '$backup_folder/$backup_name'"
mv $jenkins_war $backup_folder/$backup_name
fi
else
current_sha1sum=$(sha1sum $jenkins_war | awk '{print $1;}')
echo "No backups yet. Backing up to '$backup_folder/$backup_name'"
mv $jenkins_war $backup_folder/$backup_name
fi
wget http://updates.jenkins-ci.org/latest/jenkins.war -O $jenkins_war
new_sha1sum=$(sha1sum $jenkins_war | awk '{print $1;}')
if [ "$current_sha1sum" = "$new_sha1sum" ]; then
echo "Files are the same, deleting backup"
rm $backup_folder/$backup_name
fi
chown jenkins:jenkins $jenkins_war
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment