updated: gitlab-upgrade

This commit is contained in:
Filip Rojek 2023-07-19 16:09:05 +02:00
parent 3b7c1d24da
commit 208acd2555

View File

@ -1,5 +1,31 @@
#!/bin/sh
#!/bin/bash
CURRENT_VERSION=$(dpkg -s gitlab-ce | grep Version | sed 's/Version: //')
AVAILABE_VERSION=$(apt-cache madison gitlab-ce)
MINOR_PREFIX=$(dpkg -s gitlab-ce | grep Version | sed 's/Version: //' | awk -F "." '{print $1 "." $2}')
UPDATE_TO=$(apt-cache madison gitlab-ce | grep $CURRENT_VERSION -B5 | awk -F "|" '{print $2}' | sed 's/ //' | grep $MINOR_PREFIX | head -n1)
DATE=$(date +'%Y-%m-%d %H:%M:%S')
UPDATE_LOG="/var/log/gitlab-auto-update.log"
ERROR_LOG="/var/log/gitlab-auto-update.error.log"
# Remove leading/trailing whitespace and newlines from the strings
CURRENT_VERSION=$(echo "$CURRENT_VERSION" | tr -d '[:space:]')
UPDATE_TO=$(echo "$UPDATE_TO" | tr -d '[:space:]')
if [[ "$CURRENT_VERSION" == "$UPDATE_TO" ]]; then
echo "$DATE | $CURRENT_VERSION | no new minor version is available" >> /var/log/gitlab-auto-update.log
else
echo "$DATE | $CURRENT_VERSION | updating to $UPDATE_TO" >> /var/log/gitlab-auto-update.log
sudo apt install -y "gitlab-ce-$UPDATE_TO" 2>"$ERROR_LOG"
# Check if there were any errors
if [ -s "$ERROR_LOG" ]; then
echo "$DATE | $CURRENT_VERSION | error occurred while updating the package" >> $UPDATE_LOG
cat "$ERROR_LOG"
exit 1
else
echo "$DATE | $CURRENT_VERSION | package updated successfully" >> $UPDATE_LOG
fi
fi