Gogs: gitlab en léger

Bonjour à tous,

Un petit billet pour vous présenter l'installation de Gogs, un gitlab en beaucoup plus léger.
La légèreté de Gogs réside dans le fait qu'il ne fait QUE serveur git. Gitlab lui, permets de faire des Gantt et pleins d'autres choses qu'il n'est pas forcément nécessaire d'avoir pour juste faire du git.

Pour l'installation, je l'ai réalisé sur une Debian 8.0 virtualisé par KVM (Proxmox4).
Pour commencer, il est conseillé de créer un utilisateur dédié:

adduser --disabled-login --gecos 'Gogs' git

La ligne --gecos permet de rajouter des informations sur cet utilisateur.
Niveau package, il vous faut 3 éléments:

  • Git
  • Mysql si vous souhaitez stocker les informations en bdd (si ce n'est pas le cas, la démarche est décrite plus loin)
  • Go

Passons à l'installation de go, partie assez facile:

su - git
cd ~
mkdir local
wget https://storage.googleapis.com/golang/go1.5.2.linux-amd64.tar.gz
tar -C /home/git/local -xzf go1.5.2.linux-amd64.tar.gz

Vous pouvez changer le dossier de destination, mais il faudra alors reporter la modification sur le reste des commandes.

Nous configurons maintenant les variables d'environnement:

su - git
cd ~
echo 'export GOROOT=$HOME/local/go' >> $HOME/.bashrc
echo 'export GOPATH=$HOME/go' >> $HOME/.bashrc
echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> $HOME/.bashrc
source $HOME/.bashrc

Bien pensez à modifier 'local' si vous avez changé de dossier de destination.

L'installation de Gogs à proprement parler est rapide:

go get -u github.com/gogits/gogs
cd $GOPATH/src/github.com/gogits/gogs
go build

Si vous souhaitez ne pas utiliser Mysql, il est possible de choisir Sqlite3:

go get -u -tags "sqlite" github.com/gogits/gogs
cd $GOPATH/src/github.com/gogits/gogs
go build -tags "sqlite"

Gogs est installé! Pour tester le succès de l'installation:

cd $GOPATH/src/github.com/gogits/gogs
./gogs web

Si vous n'avez aucune erreur, l'installation s'est bien déroulée. Pour arrêter Gogs: Ctrl-C

Afin de terminer l'installation, il faut démarrer le serveur:

./gogs web

Puis se rendre à l'adresse : http://votreIP:3000
Cela vous redirigera directement dans l'installeur qui vous permettra de finaliser l'installation.

Il est également possible de faire l'installation par le package directement:
https://gogs.io/docs/installation/install_from_binary
Il suffit de décompresser l'archive où vous le souhaitez et de faire:

./gogs web

Comme toute archive, ce n'est pas la toute dernière version disponible sur le github.

Have a nice day.

Boris