forge.devinsy.fr-tools/upgrade

56 lines
1.7 KiB
Bash
Executable file

#!/bin/bash
set -ex
BINDIR=/srv/gitea/bin
GITEA_HOME=/srv/gitea
export GITEA_WORK_DIR=/srv/gitea
cd $BINDIR
if [ -z "$1" ]; then
echo "Need version value."
else
#
VERSION="$1"
# Verify.
if ./gitea --version | grep -q "version $VERSION " ; then
echo "Same version."
else
# Download.
wget https://dl.gitea.io/gitea/$VERSION/gitea-$VERSION-linux-amd64
wget https://dl.gitea.io/gitea/$VERSION/gitea-$VERSION-linux-amd64.asc
wget https://dl.gitea.io/gitea/$VERSION/gitea-$VERSION-linux-amd64.sha256
sha256sum -c gitea-$VERSION-linux-amd64.sha256
# gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2
gpg --verify gitea-$VERSION-linux-amd64.asc gitea-$VERSION-linux-amd64
# Flush queues.
su - git -c "cd /srv/gitea/bin ; $BINDIR/gitea -c /etc/gitea/gitea.ini manager flush-queues"
# Stop.
systemctl stop gitea
# Dump.
su - git -c "cd /srv/gitea/bin ; $BINDIR/gitea dump --tempdir $GITEA_HOME/tmp/ -c /etc/gitea/gitea.ini"
# Call doctor.
su - git -c "cd /srv/gitea/bin ; $BINDIR/gitea doctor --all --fix -c /etc/gitea/gitea.ini"
# Upgrade.
chmod u+x gitea-$VERSION-linux-amd64
chown git.gitea gitea-$VERSION-linux-amd64
ln --force gitea-$VERSION-linux-amd64 gitea
# Start.
#systemctl start gitea
echo "Please, check then start the service Gitea."
read -e -p "Start Gitea service? [Y/n] " choice
if [[ "$choice" =~ ^[yY]$ ]]; then
echo "Restarting…"
systemctl start gitea
journalctl -f -u gitea
fi
fi
fi