Comment installer le système de contrôle de version Fossil sous Linux

Comment installer le système de contrôle de version Fossil sous Linux
Photographie d'un écran d'ordinateur affichant du code JavaScript.

Fossil est un puissant système de contrôle de version (VCS) pour Linux. Cet article vous montrera comment installer et déployer Fossil sur Ubuntu Linux.

Pourquoi utiliser Fossil plutôt que Git

L’un des principaux arguments de vente de Fossil est qu’il s’agit d’une suite tout-en-un permettant de gérer votre code source en ligne. Cela le rend incroyablement utile pour les utilisateurs qui souhaitent simplement partager un seul référentiel avec d’autres personnes sans créer de compte Github ou Gitlab.

En dehors de cela, Fossil est également très flexible et incroyablement facile à auto-héberger. Il peut s’exécuter soit comme un seul binaire statique dans votre système, soit dans un conteneur Docker autonome. En conséquence, il est très simple d’accéder à Fossil et de l’adapter à vos propres besoins.

Bien que Fossil et Git partagent la même syntaxe de fonctionnement, Fossil fournit des fonctionnalités supplémentaires difficiles à implémenter dans Git. Par exemple, Fossil évite le problème du « HEAD détaché » en fournissant une base de données interne qui suit les références entre les commits précédents et futurs. En conséquence, les dépôts Fossil sont plus transparents et sans problème par rapport à Git.

Un autre avantage de Fossil par rapport à Git est qu’il nécessite moins de dépendances et de mémoire pour s’exécuter tout en fournissant des fonctionnalités prêtes à l’emploi. Une instance Fossil a son forum de discussion, son wiki et son système de suivi des problèmes. Cela fait de Fossil une solution intégrée pour tous ceux qui souhaitent un environnement « simple » pour développer et publier du code.

Obtention des prérequis et de Docker de Fossil

La première étape du déploiement de Fossil consiste à obtenir les fichiers du référentiel pour Docker. Pour ce faire, récupérez la clé de signature du projet Docker :

Créez un nouveau fichier sous « /etc/apt/sources.list.d ». Celui-ci contiendra le lien du référentiel où Ubuntu récupérera les packages Docker :

Collez le code suivant dans votre nouveau fichier de référentiel :

Enregistrez votre fichier de référentiel Docker, puis installez le package Snap principal :

Téléchargez le package Snap Certbot de l’Electronic Frontier Foundation :

Exécutez la commande suivante pour actualiser la liste des packages de votre système :

Installez Docker et Nginx avec leurs packages de dépendances :

Construire et installer Fossil sous Linux

Accédez à la page de téléchargement de Fossil , puis sélectionnez l’archive tar source de la dernière version stable. Dans mon cas, je téléchargerai la version 2.23 de Fossil.

Une capture d'écran mettant en évidence le lien vers la dernière version stable de Fossil.

Déplacez l’archive source vers votre répertoire personnel, puis extrayez-la :

Allez dans le dossier de votre archive tar, puis ouvrez le Dockerfile de Fossil à l’aide de votre éditeur de texte préféré :

Faites défiler vers le bas du fichier, puis ajoutez ce qui suit avant la "--user", "admin"]ligne :

Une borne mettant en valeur le

Enregistrez votre Dockerfile modifié, puis créez votre image de conteneur :

Exécution de Fossil et création d’un proxy inverse SSL

Vous disposez désormais d’une nouvelle instance de Fossil VCS exécutée en tant que conteneur Docker sur votre serveur. Pour y accéder, vous devez crypter toutes les connexions externes à Fossil.

Pour commencer, créez un nouvel enregistrement DNS « A » pointant vers l’adresse IP de votre serveur Fossil.

Une capture d'écran montrant l'enregistrement DNS A pour Fossil.

Utilisez votre éditeur de texte préféré pour créer un nouveau fichier de configuration de site pour votre instance Fossil :

Collez le bloc de code suivant dans le fichier de configuration de votre nouveau site :

Remplacez la server_namevariable par votre sous-domaine pour Fossil.

Un terminal affichant un fichier de configuration de site proxy inverse dans Nginx.

Créez un lien symbolique pour le fichier de configuration de votre site vers « /etc/nginx/sites-enabled/ » :

Démarrez le démon Nginx de votre système à l’aide de systemctl :

Démarrez votre nouvelle image Fossil Docker en exécutant la commande suivante :

Ouvrez un nouveau panneau Tmux en appuyant sur Ctrl+ B, puis sur C. À l’intérieur, exécutez la commande suivante pour demander un certificat SSL à Certbot :

Testez si votre instance Fossil est accessible sur Internet en accédant à votre sous-domaine.

Une capture d'écran montrant la page de destination d'une instance Fossil fraîchement installée.

Création de votre premier référentiel de fossiles

Une fois Fossil opérationnel sur votre serveur Linux, vous pouvez maintenant configurer votre nouvelle instance. Cliquez sur le lien setup/config sous la section Accueil .

Une capture d'écran mettant en évidence le

Fournissez les détails du compte administrateur, puis cliquez sur Se connecter. Vous pouvez trouver le mot de passe du compte administrateur dans le journal de sortie de votre conteneur Docker.

Une capture d'écran mettant en évidence le mot de passe aléatoire du compte administrateur.

Remplissez les zones de texte Nom du projet et Description du projet avec les détails de votre référentiel, puis cliquez sur Appliquer les modifications pour l’enregistrer.

Une capture d'écran mettant en évidence le

Clonage et utilisation de votre référentiel de fossiles

Pour utiliser votre nouveau référentiel de code, vous devez d’abord en créer une copie sur votre machine. Pour ce faire, installez une version locale de Fossil sur votre bureau Linux :

Extrayez l’intégralité du référentiel sur votre machine et accédez à son dossier de référentiel :

Ajoutez vos fichiers initiaux, puis validez les modifications dans votre référentiel Fossil :

Fournissez les détails de votre commit initial, puis enregistrez-le en créant une nouvelle ligne commençant par un point (.).

Un terminal affichant le format du message de validation pour Fossil.

Transférer des modifications locales à votre référentiel de fossiles distant

Par défaut, Fossil ne fournit aucune autorisation d’écriture sur ses référentiels distants. Toutes les modifications que vous apportez à votre référentiel local y resteront et ne seront pas reflétées dans votre instance Fossil.

Pour résoudre ce problème, accédez à l’interface Web de votre instance Fossil, puis connectez-vous en tant que compte administrateur.

Cliquez sur la catégorie Administrateur dans le menu supérieur du tableau de bord.

Une capture d'écran montrant l'emplacement du

Sélectionnez Utilisateurs dans le panneau de configuration de l’administrateur.

Une capture d'écran montrant le

Cliquez sur Ajouter pour créer un nouvel utilisateur pour votre référentiel.

Une capture d'écran montrant l'emplacement du

Fournissez un nom d’utilisateur et un mot de passe pour votre nouvel utilisateur.

Cochez la case Développeur dans la catégorie Capacités , puis cliquez sur Appliquer les modifications pour enregistrer votre nouvel utilisateur.

Une capture d'écran montrant la configuration du committer par défaut pour un nouvel utilisateur Fossil.

Revenez à votre terminal local, puis exécutez la commande suivante :

Tapez le mot de passe de votre utilisateur Fossil, puis appuyez sur Enterpour transférer les modifications locales vers votre référentiel distant.

Confirmez que votre dépôt Fossil distant a reçu votre commit local en accédant à son interface Web.

Une capture d'écran montrant l'exemple de fichier de validation dans l'instance Fossil auto-hébergée.

L’installation et le déploiement de votre propre système de contrôle de version Fossil n’est que la première étape pour reprendre le contrôle de vos données en ligne. Découvrez comment sécuriser vos communications en ligne en hébergeant votre propre serveur d’alias de messagerie avec SimpleLogin.

Crédit image : Panjak Patel via Unsplash . Toutes les modifications et captures d’écran par Ramces Red.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *