56 lines
1.7 KiB
Bash
Executable file
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
|