Ceci est une ancienne révision du document !
Table des matières
Installation
Installation Omnibus sur Ubuntu 14.04. Les instructions sont prises du site de GitLab.
sudo apt-get install curl openssh-server ca-certificates
(pas de postfix)curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
sudo apt-get install gitlab-ce
sudo gitlab-ctl reconfigure
Configuration
Aide de départ : https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
Changer le port
Étape par étape:
$ sudo -e /etc/gitlab/gitlab.rb
- Changer le
external_url
deyourdomain.com
àyourdomain.com:9999
, 9999 étant le port voulu. $ sudo gitlab-ctl reconfigure
Si le port est changé et que d'autres sites sont utilisés avec Apache sur le port 80, on peut ajouter un virtual host pour cacher le port.
- Créer un fichier
/etc/apache2/sites-available/gitlab.conf
:<VirtualHost *:80> ServerName gitlab.sgariepy.com ServerAdmin webmaster@localhost ProxyPreserveHost On ProxyPass / http://localhost:81/ ProxyPassreverse / http://localhost:81/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Le fichier de configuration d'Apache considère que GitLab est configuré sur le port 81.
- Activer les modules Apache
proxy
etproxy_http
($ a2enmod <module>
). - Redémarrer Apache.
Autres fichiers de configuration
/opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
- Le serveur web :
/var/opt/gitlab/nginx/conf/
Activer le HTTPS
Pour activer le HTTPS, voir la documentation de GitLab à ce sujet.
Installer la chaîne SSL
GitLab Omnibus prend les certificats dans /etc/gitlab/ssl
par défaut. Pour que Nginx donne la chaîne de certificats, il faut que le fichier CRT du domaine offre aussi les autres certificats.
Le format est
-----BEGIN CERTIFICATE----- Le certificat du serveur -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Intermediate Certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Root Certificate -----END CERTIFICATE-----
Ayant son certificat gitlab.domain.tld.crt
, le certificat de l'intermédiaire intermediate.crt
et de la racine root.crt
, on peut faire:
$ cat intermedate.crt root.crt > bundle.crt $ cat gitlab.domain.tld.crt bundle.crt > gitlab.domain.tld.crt > gitlab.domain.tld.chained.crt
Une fois fait, il faut redémarrer GitLab avec gitlab-ctl restart
.
Pour tester la connexion SSL : SSL Server Test.
Sources
Opérations
gitlab-ctl restart gitlab-ctl reconfigure
Sauvegardes
Les sauvegardes sont exécutées par la commande gitlab-rake gitlab:backup:create
. Avec la configuration par défaut, le répertoire où se trouveront les sauvegardes est /var/opt/gitlab/backups
.
Fichiers de configurations:
- /etc/gitlab/gitlab.rb
- /etc/gitlab/gitlab-secrets.json
GitLab servi par Apache
- Configurer GitLab pour ne pas utiliser nginx:
external_url "https://gitlab.exemple.com/" nginx['enable'] = false web_server['external_users'] = ['www-data']
- Exécuter
gitlab-ctl reconfigure
. - Ajouter l'utilisateur Apache au groupe de GitLab et de Git :
# usermod -a -G gitlab-www www-data # usermod -a -G git www-data
- Si ce n'est pas déjà fait, activer les modules Apache:
# a2enmod rewrite # a2enmod ssl # a2enmod proxy # a2enmod proxy_http # a2enmod headers
GitLab CI
- Modifier le fichier /etc/gitlab/gitlab.rb et décommenter la ligne
# ci_external_url 'http://ci.example.com'
. Changer l'URL. - Faire
gitlab-ctl reconfigure
.
Runners
# curl -sSL https://get.docker.com/ | sh
If you would like to use Docker as a non-root user, you should now consider adding your user to the "docker" group with something like: sudo usermod -aG docker your-user
- apt-get install gitlab-ci-multi-runner
- On peut trouver le token dans GitLab CI, ex : https://gitlab.example.com/ci/admin/runners.
Utilisation de GitLab
Wiki
On peut utiliser MathMagic pour les formules mathématiques à inclure dans la documentation. MathMagic Lite convient pour une utilisation personnelle et pour créer les formules. Suffit de créer la formule, de changer les options d'exportation à la copie à 150% et faire Ctrl+C. Coller directement dans GitLab. Ne pas utiliser la copie PNG, simplement la copie normale.
Restaurer
- Installer GitLab et s'assurer qu'il fonctionne.
- Prendre le backup de GitLab et le placer dans le répertoire
/var/opt/gitlab/backups
. - Démarrer GitLab s'il n'est pas déjà démarré:
# gitlab-ctl start
.- Arrêter Unicorn :
# gitlab-ctl stop unicorn
. - Arrêter Sidekiq :
# gitlab-ctl stop sidekiq
.