Table des matières

Gogs

Page obsolète, code.ffdn.org a migré vers Gitlab en 2018.

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