So installieren Sie das Fossil-Versionskontrollsystem unter Linux
Fossil ist ein leistungsstarkes Versionskontrollsystem (VCS) für Linux. Es ist eine Alternative zu Github, aber im Gegensatz zu Git bietet es eine vollständige Suite von Tools zum Erstellen, Ändern und sogar Online-Freigeben Ihres Repositorys. In diesem Artikel erfahren Sie, wie Sie Fossil unter Ubuntu Linux installieren und bereitstellen.
Warum Fossil anstelle von Git verwenden?
Eines der größten Verkaufsargumente von Fossil ist, dass es sich um eine All-in-One-Suite für die Online-Verwaltung Ihres Quellcodes handelt. Dies macht es unglaublich nützlich für Benutzer, die nur ein einzelnes Repository mit anderen Personen teilen möchten, ohne ein Github- oder Gitlab-Konto zu erstellen.
Darüber hinaus ist Fossil äußerst flexibel und unglaublich einfach selbst zu hosten. Es kann entweder als einzelne statische Binärdatei in Ihrem System oder in einem eigenständigen Docker-Container ausgeführt werden. Dadurch ist es sehr einfach, in Fossil einzusteigen und es an die eigenen Bedürfnisse anzupassen.
Während Fossil und Git die gleiche Betriebssyntax verwenden, bietet Fossil zusätzliche Funktionen, die in Git nur schwer zu implementieren sind. Beispielsweise vermeidet Fossil das Problem des „abgetrennten HEAD“, indem es eine interne Datenbank bereitstellt, die die Referenzen zwischen früheren und zukünftigen Commits verfolgt. Dadurch sind Fossil-Repos im Vergleich zu Git nahtloser und problemloser.
Ein weiterer Vorteil von Fossil gegenüber Git besteht darin, dass für die Ausführung weniger Abhängigkeiten und Speicher erforderlich sind und die Funktionen sofort einsatzbereit sind. Eine Fossil-Instanz verfügt über ein Diskussionsforum, ein Wiki und einen Issue-Tracker. Dies macht Fossil zu einer integrierten Lösung für alle, die eine unkomplizierte Umgebung zum Entwickeln und Veröffentlichen von Code wünschen.
Gut zu wissen: Lernen Sie einige der besten Git-Hooks zum Verwalten Ihres Repositorys kennen.
Fossils Voraussetzungen und Docker erhalten
Der erste Schritt bei der Bereitstellung von Fossil besteht darin, die Repository-Dateien für Docker abzurufen. Rufen Sie dazu den Signaturschlüssel für das Docker-Projekt ab:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpgErstellen Sie eine neue Datei unter „/etc/apt/sources.list.d“. Dies enthält den Repository-Link, über den Ubuntu die Docker-Pakete abruft:
sudo nano /etc/apt/sources.list.d/docker.listFügen Sie den folgenden Code in Ihre neue Repository-Datei ein:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu Jammy StableSpeichern Sie Ihre Docker-Repository-Datei und installieren Sie dann das Kern-Snap-Paket:
Laden Sie das Certbot-Snap-Paket von der Electronic Frontier Foundation herunter:
sudo snap install certbot --classicFühren Sie den folgenden Befehl aus, um die Paketlisten Ihres Systems zu aktualisieren:
sudo apt update && sudo apt upgradeInstallieren Sie Docker und Nginx zusammen mit ihren Abhängigkeitspaketen:
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginxFossil unter Linux erstellen und installieren
Navigieren Sie zu Downloadseite für Fossil, und wählen Sie dann den Quell-Tarball für die neueste stabile Version aus. In meinem Fall werde ich Version 2.23 von Fossil herunterladen.
Verschieben Sie den Quell-Tarball in Ihr Home-Verzeichnis und extrahieren Sie ihn:
mv ~/Downloads/fossil-src-2.23.tar.gz tar xvzf ~/fossil-src-2.23.tar.gzGehen Sie in den Ordner Ihres Tarballs und öffnen Sie dann die Docker-Datei von Fossil mit Ihrem bevorzugten Texteditor:
cd ~/fossil-src-2.23 nano ./DockerfileScrollen Sie nach unten zum Ende der Datei und fügen Sie dann vor der Zeile „--user“, „admin“ Folgendes hinzu:
Speichern Sie Ihre geänderte Docker-Datei und erstellen Sie dann Ihr Container-Image:
sudo docker build -t fossil .Fossil ausführen und einen SSL-Reverse-Proxy erstellen
Sie haben jetzt eine neue Instanz von Fossil VCS, die als Docker-Container auf Ihrem Server läuft. Um darauf zuzugreifen, müssen Sie alle externen Verbindungen zu Fossil verschlüsseln.
Erstellen Sie zunächst einen neuen DNS-Eintrag „A“, der auf die IP-Adresse Ihres Fossil-Servers verweist.
Verwenden Sie Ihren bevorzugten Texteditor, um eine neue Site-Konfigurationsdatei für Ihre Fossil-Instanz zu erstellen:
sudo nano /etc/nginx/sites-available/fossil-scmFügen Sie den folgenden Codeblock in Ihre neue Site-Konfigurationsdatei ein:
server { server_name SUBDOMAIN.YOUR-ROOT.DOMAIN; Standort / { Proxy_pass http://127.0.0.1:7777; Proxy_http_version 1.1; Proxy_set_header Upgrade $http_upgrade; Proxy_set_header Verbindung „upgrade“; Proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; Proxy_set_header Host $host; } }Ersetzen Sie die Variable server_name durch Ihre Subdomain für Fossil.
Erstellen Sie einen symbolischen Link für Ihre Site-Konfigurationsdatei zu „/etc/nginx/sites-enabled/“:
sudo ln -s /etc/nginx/sites-available/fossil-scm /etc/nginx/sites-enabled/Starten Sie den Nginx-Daemon Ihres Systems mit systemctl:
sudo systemctl enable --now nginx.service sudo systemctl nginx.service neu ladenStarten Sie Ihr neues Fossil Docker-Image, indem Sie den folgenden Befehl ausführen:
sudo docker run \ --publish 7777:8080 \ --name fossil \ --cap-drop AUDIT_WRITE \ --cap-drop CHOWN \ --cap-drop FSETID \ --cap-drop KILL \ --cap-drop MKNOD \ --cap-drop NET_BIND_SERVICE \ --cap-drop NET_RAW \ --cap-drop SETFCAP \ --cap-drop SETPCAP \ fossilÖffnen Sie ein neues Tmux-Panel, indem Sie Strg + B und dann C drücken. Führen Sie darin den folgenden Befehl aus, um ein SSL-Zertifikat von Certbot anzufordern:
sudo certbot --nginx -d fossil-scm.myvpsserver.topTesten Sie, ob Ihre Fossil-Instanz über das Internet erreichbar ist, indem Sie zu Ihrer Subdomain navigieren.
Gut zu wissen: Erfahren Sie, wie Sie mit Caddy einfache Webseiten mit automatischem HTTPS erstellen können.
Erstellen Sie Ihr erstes Fossillager
Wenn Fossil auf Ihrem Linux-Server läuft, können Sie jetzt Ihre neue Instanz konfigurieren. Drücke den setup/config Link unter dem Heim Abschnitt.
Geben Sie die Details des Administratorkontos ein und klicken Sie dann auf „Anmelden“. Das Passwort für das Administratorkonto finden Sie im Ausgabeprotokoll Ihres Docker-Containers.
Füllen Sie beide aus Projektname Und Projektbeschreibung Geben Sie Textfelder mit Ihren Repository-Details ein und klicken Sie dann auf Änderungen übernehmen um es zu retten.
Klonen und Verwenden Ihres Fossilien-Repositorys
Um Ihr neues Code-Repository verwenden zu können, müssen Sie zunächst eine Kopie davon auf Ihrem Computer erstellen. Installieren Sie dazu eine lokale Version von Fossil auf Ihrem Linux-Desktop:
Ziehen Sie das gesamte Repository auf Ihren Computer und gehen Sie in den Repository-Ordner:
fossiler Klon https://SUBDOMAIN.YOUR-ROOT.DOMAIN cd ./YOUR-REPO-NAMEFügen Sie Ihre ursprünglichen Dateien hinzu und übernehmen Sie dann die Änderungen in Ihr Fossil-Repository:
nano ./sample.file fossil add ./sample.file fossil commitGeben Sie die Details Ihres ersten Commits an und speichern Sie es, indem Sie eine neue Zeile erstellen, die mit einem Punkt (.) beginnt.
Zu Ihrer Information: Erlernen Sie die Grundlagen der Codeverwaltung, indem Sie Ihr eigenes Git-Repository erstellen.
Lokale Änderungen an Ihr Remote-Fossilienlager übertragen
Fossil gewährt standardmäßig keine Schreibberechtigungen für seine Remote-Repositorys. Alle Änderungen, die Sie an Ihrem lokalen Repository vornehmen, bleiben dort und werden nicht in Ihrer Fossil-Instanz widergespiegelt.
Um dies zu beheben, gehen Sie zur Weboberfläche Ihrer Fossil-Instanz und melden Sie sich als Administratorkonto an.
Drücke den Administrator Kategorie im oberen Menü des Dashboards.
Wählen Benutzer auf dem Bedienfeld des Administrators.
Klicken Hinzufügen um einen neuen Benutzer für Ihr Repository zu erstellen.
Geben Sie einen Benutzernamen und ein Passwort für Ihren neuen Benutzer ein.
Kreuzen Sie an Entwickler Kontrollkästchen auf der Fähigkeiten Wählen Sie die Kategorie aus und klicken Sie dann auf Änderungen übernehmen um Ihren neuen Benutzer zu speichern.
Gehen Sie zurück zu Ihrem lokalen Terminal und führen Sie dann den folgenden Befehl aus:
Fossil Push https://YOUR-USERNAME@SUBDOMAIN.YOUR-ROOT.DOMAINNotiz: Sie können auch neue Änderungen aus Ihrem Remote-Fossil-Repository abrufen, indem Sie Fossil Pull ausführen.
Geben Sie das Passwort für Ihren Fossil-Benutzer ein und drücken Sie dann die Eingabetaste, um die lokalen Änderungen in Ihr Remote-Repository zu übertragen.
Bestätigen Sie, dass Ihr Remote-Fossil-Repo Ihr lokales Commit erhalten hat, indem Sie zu seiner Weboberfläche navigieren.
Die Installation und Bereitstellung Ihres eigenen Fossil-Versionskontrollsystems ist nur der erste Schritt, um die Kontrolle über Ihre Online-Daten zurückzugewinnen. Erfahren Sie, wie Sie Ihre Online-Kommunikation sichern können, indem Sie mit SimpleLogin Ihren eigenen E-Mail-Aliase-Server hosten.
Panjak Patel über Unsplash. Alle Änderungen und Screenshots von Ramces Red.
Schreibe einen Kommentar