Script de mise à jour de Gogs¶
Voici un script qui permet de mettre à jour Gogs, un serveur Git à installer chez soi, en l’occurrence sur un Raspberry Pi 2.
#!/bin/bash
#
# https://gogs.io/docs/upgrade/upgrade_from_binary
#
set -e
usage() {
echo 'À exécuter en tant que root !'
echo "$0 VERSION"
echo "$0 0.13.0"
exit 1
}
main() {
local new_version="$1"
local fname="gogs_${new_version}_linux_armv7.zip"
local output="${fname}-${new_version}"
local url="https://github.com/gogs/gogs/releases/download/v${new_version}/${fname}"
local today
local su='/bin/su - git -c'
today="$(/bin/date '+%Y-%m-%d_%H')"
cd /home/git
/usr/sbin/service gogs stop
$su "/usr/bin/wget ${url} -O ${output}"
[ -d gogs ] && $su "/bin/mv gogs gogs_${today}"
$su "/usr/bin/unzip ${output}"
$su "/bin/cp -Rv gogs_${today}/custom gogs"
$su "/bin/cp -Rv gogs_${today}/data gogs"
$su "/bin/cp -Rv gogs_${today}/log gogs"
/usr/sbin/service gogs start
}
[ $EUID -eq 0 ] || usage
[ -z "$1" ] && usage
main "$@"
Rendre le script exécutable :
chmod a+x update-gogs.sh
À utiliser tel que :
./update-gogs.sh "0.13.0"
📜 Historique¶
- 2024-02-01
Déplacement de l’article depuis le blog.
- 2023-02-25
Téléchargement de l’archive ZIP depuis GitHub au lieu de dl.gogs.io.
- 2021-04-10
Support de Gogs 0.12.0+.
- 2018-08-17
Correction de
[ -n $EUID ]
→[ $EUID -eq 0 ]
.Correction de la variable
today
qui ajoutait un « M » à la fin.Utilisation de
bash
au lieu desh
.- 2018-04-28
Support de Gogs 0.11.43+.
- 2017-04-08
Revue des liens et meilleure qualité du script.
- 2016-04-16
Utilisation des chemins absolus des exécutables.
- 2016-03-31
Premier jet.