GitBucket est une plate-forme Git gratuite et open-source optimisée par Scala avec la compatibilité de l'API Github. Il est simple, léger et alternatif à Github ou BitBucket. Il est livré avec un ensemble de fonctionnalités étendues, notamment la prise en charge de GitLFS, les problèmes, les demandes d'extraction, les notifications, le système de plug-in, les référentiels Git publics et privés. Il peut être facilement intégré à LDAP pour la gestion des comptes et des groupes.
Dans ce tutoriel, nous allons apprendre à installer et configurer GitBucket sur le serveur Ubuntu 18.04.
Exigences
- Un nouveau serveur avec Ubuntu 18.04.
- Un mot de passe root est configuré sur votre instance.
Mise en route
Avant de commencer, mettez à jour votre système avec la dernière version stable. Vous pouvez le faire avec la commande suivante :
apt-get update -y
apt-get upgrade -y
Une fois mis à jour, redémarrez votre serveur pour appliquer toutes les modifications de configuration.
Installer Java
GitBucket nécessite Java 8 ou une version plus récente pour être installé sur votre serveur. Vous devrez donc installer Java sur votre serveur.
Pour installer Java, exécutez la commande suivante :
apt-get install default-jdk -y
Une fois Java installé, vous pouvez vérifier la version de Java à l'aide de la commande suivante :
java -version
Vous devriez voir le résultat suivant :
openjdk version "10.0.2" 2018-07-17 OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2) OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.2, mixed mode)
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Installer GitBucket
Avant d'installer GitBucket, vous devrez créer un utilisateur non privilégié pour exécuter GitBucket.
Exécutez la commande suivante pour créer un utilisateur système appelé gitbucket.
groupadd -g 555 gitbucket
useradd -g gitbucket --no-user-group --home-dir /opt/gitbucket --no-create-home --shell /usr/sbin/nologin --system --uid 555 gitbucket
Ensuite, téléchargez le GitBucket depuis le dépôt Git avec la commande suivante :
wget https://github.com/gitbucket/gitbucket/releases/download/4.31.2/gitbucket.war
Une fois le téléchargement terminé, créez un répertoire pour GitBucket dans /opt
mkdir /opt/gitbucket
Ensuite, déplacez le fichier téléchargé dans le répertoire gitbucket :
mv gitbucket.war /opt/gitbucket
Ensuite, donnez l'autorisation appropriée au répertoire gitbucket avec la commande suivante :
chown -R gitbucket:gitbucket /opt/gitbucket
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Créer un fichier de service Systemd pour GitBucket
Ensuite, vous devrez créer un fichier de service Systemd pour que GitBucket gère le service GitBucket. Vous pouvez le créer avec la commande suivante :
nano /etc/systemd/system/gitbucket.service
Ajoutez les lignes suivantes :
# GitBucket Service [Unit] Description=Manage Java service [Service] WorkingDirectory=/opt/gitbucket ExecStart=/usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war User=gitbucket Group=gitbucket Type=simple Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target
Enregistrez et fermez le fichier. Ensuite, rechargez le Systemd avec la commande suivante :
systemctl daemon-reload
Ensuite, démarrez le service gitbucket et activez-le au démarrage avec la commande suivante :
systemctl enable gitbucket
systemctl start gitbucket
Vous pouvez maintenant vérifier l'état de gitbucket avec la commande suivante :
systemctl status gitbucket
Vous devriez voir le résultat suivant :
? gitbucket.service - Manage Java service Loaded: loaded (/etc/systemd/system/gitbucket.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2019-08-09 09:43:42 UTC; 5s ago Main PID: 17835 (java) Tasks: 18 (limit: 1113) CGroup: /system.slice/gitbucket.service ??17835 /usr/bin/java -Xms128m -Xmx256m -jar gitbucket.war Aug 09 09:43:42 ubuntu1804 systemd[1]: Started Manage Java service. Aug 09 09:43:45 ubuntu1804 java[17835]: 2019-07-09 09:43:45.102:INFO::main: Logging initialized @2700ms to org.eclipse.jetty.util.log.StdErrLog Aug 09 09:43:46 ubuntu1804 java[17835]: 2019-07-09 09:43:46.134:INFO:oejs.Server:main: jetty-9.4.z-SNAPSHOT; built: 2018-11-14T21:20:31.478Z; g lines 1-11/11 (END)
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer la connexion à la base de données pour GitBucket
GitBucket est livré avec une base de données H2 intégrée. Pour configurer la connexion à la base de données, ouvrez le fichier database.conf avec votre éditeur de texte préféré :
nano /opt/gitbucket/database.conf
Ajoutez les lignes suivantes :
db { url = "jdbc:h2:${DatabaseHome};MVCC=true" user = "sa" password = "sa" }
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer Nginx en tant que proxy inverse
Par défaut, GitBucket s'exécute sur le port 8080. Vous devrez donc configurer Nginx en tant que proxy inverse pour améliorer les performances et activer d'autres fonctionnalités telles que le cryptage HTTP/2 et TLS.
Pour ce faire, installez d'abord Nginx avec la commande suivante :
apt-get install nginx -y
Ensuite, créez un proxy inverse pour GitBucket en créant le fichier suivant :
nano /etc/nginx/sites-available/gitbucket.conf
Ajoutez les lignes suivantes :
upstream gitbucket { server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5; } server { listen 80; server_name your-domain.com; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://gitbucket/; } }
Enregistrez et fermez le fichier. Ensuite, activez l'hôte virtuel Nginx à l'aide de la commande suivante :
ln -s /etc/nginx/sites-available/gitbucket.conf /etc/nginx/sites-enabled/
Ensuite, vérifiez si Nginx contient des erreurs de syntaxe et redémarrez le service Nginx avec la commande suivante :
nginx -t
Vous devriez voir le résultat suivant :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
systemctl restart nginx
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Accéder à l'interface Web GitBucket
GitBucket est maintenant installé et configuré. Ouvrez votre navigateur Web et saisissez l'URL http://votre-domaine.com. Vous serez redirigé vers la page suivante :
Maintenant, cliquez sur Connexion bouton. Vous serez redirigé vers la page de connexion comme indiqué ci-dessous :
Maintenant, fournissez le nom d'utilisateur et le mot de passe par défaut en tant que root / root et cliquez sur Connexion bouton. Vous devriez voir le tableau de bord GitBucket sur la page suivante :
Ensuite, accédez aux Paramètres du compte pour changer le mot de passe root par défaut comme indiqué dans la page suivante :
Toutes nos félicitations! vous avez installé et configuré avec succès GitBucket sur le serveur Ubuntu 18.04 LTS. N'hésitez pas à me demander si vous avez des questions.