Gogs
Gogs est le logiciel qui fait tourner https://code.ffdn.org
Configuration
$ ssh hermes.aquilenet.fr admin@hermes:~$ sudo su - gogs gogs@hermes:~$ cd go/src/github.com/gogits/gogs
La configuration se fait dans custom/conf/app.ini. Il y a principalement les clés de configuration qui changent par rapport à la configuration par défaut (dans conf/app.ini).
Mise à jour de Gogs sur hermes
$ ssh hermes.aquilenet.fr admin@hermes:~$ sudo su - gogs
Les modifications locales sont dans une branche “ffdn_prod”. Il y a le thème de la page d'accueil, et également de temps à autre des patches.
Pour mettre à jour, ça se fait en plusieurs étapes :
Mise à jour des dépendances
On commence par revenir sur la branche master, et mettre à jour gogs ainsi que ses dépendances :
gogs@hermes:~$ cd $GOPATH/src/github.com/gogits/gogs gogs@hermes:~$ git checkout master gogs@hermes:~$ git pull gogs@hermes:~$ go get -v -u github.com/gogits/gogs
Choix d'une version
Pour choisir la version cible, on regarde la dernière release sur Github https://github.com/gogits/gogs/releases, il suffit alors de noter le nom du tag. Ou alors, si on est joueur, on peut aussi se placer sur un commit en particulier, voire même master.
Entretien de la configuration
On regarde les nouveaux paramètres de configuration introduits, et si les valeurs par défaut ne conviennent pas, on rajoute de la configuration dans custom/conf/app.ini :
gogs@hermes:~$ VERSION="v10.x" # Remplacer par la version désirée gogs@hermes:~$ git log -p ffdn_prod..$VERSION conf/app.ini gogs@hermes:~$ vim custom/conf/app.ini
Mise à jour du code
Enfin, on rebase la branche ffdn_prod sur la version désirée :
gogs@hermes:~$ git checkout ffdn_prod gogs@hermes:~$ git rebase $VERSION
Compilation
On fait un « backup » de la version de prod (au cas où) :
gogs@hermes:~/go/src/github.com/gogits/gogs$ mv gogs gogs-$(./gogs -v | awk '{print $3}')
Puis compilation de la nouvelle version :
gogs@hermes:~/go/src/github.com/gogits/gogs$ go build
Redémarrage du service
Si tout s'est bien passé, on peut redémarrer le service (en étant root) :
# supervisorctl status # supervisorctl restart gogs
Les logs sont consultables dans /home/gogs/log/gogs.log
Changements locaux
Sebian nous a fait une super page d'accueil :)
Au besoin le logo est dispo ici:
cd $GOPATH/src/github.com/gogits/gogs wget -O public/img/gogs-lg.png http://www.ffdn.org/sites/default/files/logo_ffdn_0.png
Et la home page là :
vi templates/home.tmpl