Über den Unterschied zwischen Gitlab und Github muss man nicht viel sagen. Um es in einem Satz zusammenzufassen: Gitlab ist ein Git-Server für den privaten Einsatz in Unternehmen, und Github ist eine Online-Version des Git-Servers im Internet! Die Nutzung von Github als Open-Source-Projekt-Repository ist kostenlos. Erhebt Gitlab irgendwelche Gebühren? Die verteilte Versionskontrollfunktion von Gitlab ist ebenfalls kostenlos nutzbar und eine Community-Version (Gitlab CE) steht allen zur Verfügung! Gitlab ist jetzt (2020) sehr leistungsstark und verfügt über einen eigenen Satz von DevOps-Implementierungslösungen (ein Tool zur Verbesserung der Produktivität), aber diese Funktion ist nur in der kostenpflichtigen Ultimate Edition/Enterprise Edition (Gitlab EE) verfügbar! Genau wie Githubs Funktion zum Erstellen privater Repositories ist auch dies kostenpflichtig, das ist normal! Der Inhalt dieses Artikels ist einfach und leicht, und die Geschwindigkeit des Autos ist nicht hoch, sodass die Schüler nicht zu gut sitzen oder sich zu festhalten müssen! Lassen Sie uns nun offiziell einen Gitlab-Server von Grund auf erstellen: Suchen Sie zunächst die offizielle Giblab-Website in Baidu und gehen Sie zuerst auf die Homepage! Gehen Sie nicht zu tief! (Die Benutzeroberfläche, die Sie in Zukunft sehen, kann anders sein. Die Zeiten schreiten voran und die Website wird ständig aktualisiert! Die Reihe von Screenshots, die ich hier habe, stammt aus dem Juni 2020.) Schauen Sie sich die Werbung und das Design dieses ersten Bildschirms an, wie technologisch und charmant → DevOps, CI, CD, jedes dieser Schlüsselwörter ist die Richtung, in die sich die F&E-Systeme verschiedener Internetunternehmen in China derzeit (2020) zu verändern versuchen! Ich sah einen großen gelben Button mit der Aufschrift „Try Gitlab from FREE“, was so viel bedeutet wie „Probieren Sie Gitlab kostenlos aus“. Dies ist der Zugang zur Flaggschiffversion von GitlabEE, die nach der Testphase Geld kostet. Ich habe mich auf der Homepage umgesehen, konnte aber den Zugang zur legendären kostenlosen Community-Version von GitlabCE nicht finden. Gehen wir zum oberen Navigationsmenüpunkt „Gitlab installieren“, um einen Blick darauf zu werfen: Oder die Einstiegs- und Installationsanleitung zur Ultimate Edition (Enterprise Edition) mit 30-tägiger Testphase! Hier ist jedoch eine wichtige Information zu beachten: „Für den Betrieb von GitLab werden mindestens 4 GB freier RAM empfohlen“. Die offizielle Empfehlung lautet, für den Betrieb von GitLab mindestens 4 GB freien RAM zu verwenden. Darauf müssen wir dann bei der Installation einer virtuellen Maschine oder der Auswahl eines Servers achten. Es sollten mindestens 4 GB sein, besser mehr als 6 GB, da für das Betriebssystem etwas Platz übrig bleiben muss! Sehen wir uns die Gitlab-Installationsanweisungen für CentOS 8 an, um zu prüfen, ob die gewünschte Community Edition (GitlabCE) vorhanden ist: Auf den ersten Blick scheint es noch nichts zu geben, es erweitert lediglich die Installationsschritte und -methoden unter CentOS 8! Dann schauen wir mal, wie man es in CentOS 8 installiert. Ich habe es mir angesehen und am Ende etwas gefunden: Am Ende der Installationsschritte gibt es einen kurzen Link mit der Aufschrift „CE oder EE“. Es scheint, als ob es einen Zugang zur CE-Version gibt. Klicken Sie darauf: In den ersten Absätzen der neuen Seite wird noch über die Vorteile der Verwendung der Ultimate Edition (Enterprise Edition Gitlab EE) gesprochen ... bis zum Ende wurde ein Link zur kostenlosen Community Edition (GitlabCE) platziert: „GitLab Community Edition installieren“. Es war so tief versteckt, vielleicht hatten sie Angst, dass andere es erfahren würden! Weiter klicken in: Endlich ist es soweit. Jetzt entspricht der Inhalt der Installationsanweisungen in der Adressleiste und auf der Seite dem der CE-Version (für Studenten, die diesen Artikel in Zukunft lesen werden: Die offizielle Gitlab-Website wurde möglicherweise überarbeitet, und der Zugangsort und die Adresse der Community-Edition (GitlabCE) haben sich möglicherweise ebenfalls geändert, aber solange Gitlab noch eine kostenlose Version hat, wird es definitiv irgendwo auf der offiziellen Website einen Zugang geben!). Ich habe die Installationsanweisungen für Gitlab CE gefunden. Wie üblich haben wir eine neue virtuelle Maschine mit CentOS 8.1 vorbereitet. Gemäß den offiziellen Empfehlungen werden der Arbeitsspeicher und die Festplatte dieser virtuellen Maschine größer eingestellt: Nachdem die virtuelle Maschine bereit ist, folgen Sie den offiziellen Installationsanweisungen von GitlabCE, um sie zu installieren. Es ist eigentlich ganz einfach. Die Installation umfasst nur drei Schritte (da ich Root bin, brauche ich kein Sudo): Schritt 1: Installieren und aktivieren Sie die Komponenten policycoreutils, openssh-server und openssh-clients und öffnen Sie sie für die Firewall (vergessen Sie nicht, die Firewall neu zu laden): # dnf install -y curl policycoreutils openssh-server openssh-clients # systemctl sshd aktivieren # systemctl start sshd # Firewall-Befehl --permanent --add-service=http # Firewall-cmd --permanent --add-service=https # systemctl Firewall neu laden Die Postfix-Komponenten für E-Mail-Benachrichtigungen müssen vorerst nicht installiert und konfiguriert werden. Dies kann bis später bei der Konfiguration eines externen SMTP-Servers erfolgen: # dnf Postfix installieren # systemctl Postfix aktivieren # systemctl start postfix Schritt 2: Verwenden Sie das Curl-Tool, um das Repository-Konfigurationsskript des RPM-Installationspakets der GitlabCE-Version herunterzuladen und zu konfigurieren (stellen Sie bitte sicher, dass Ihre virtuelle Maschine eine Verbindung zum Netzwerk herstellen kann. Beachten Sie, dass dies nur das Repository-Konfigurationsskript des RPM-Installationspakets ist, nicht das eigentliche Installationspaket). # curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash Schritt 3: Installieren Sie GitlabCE und geben Sie die URL-Adresse für den externen Zugriff an. Beachten Sie hierbei: Die URL-Adresse für den externen Zugriff verwendet einen benutzerdefinierten Domänennamen, auch wenn der Domänenname tatsächlich nicht existiert! Darüber hinaus: Wenn Ihr Server nicht über ein https-bezogenes Zertifikat verfügt, verwenden Sie nicht https, sondern direkt das http-Protokoll! Bei Verwendung des Clients kann ein Mapping im HOST vorgenommen werden. Am besten wäre natürlich ein echter Domänenname! Warum müssen wir Domänennamen verwenden, um URL-Adressen für den externen Zugriff anzugeben? Denn wenn Sie später Gitlab verwenden, werden Sie feststellen, dass dies eine kluge Wahl ist! # EXTERNAL_URL="http://gitlab.xgclassroom.com" dnf install -y gitlab-ce An diesem Punkt werden Sie feststellen, wie schwierig es ist, das bis zu 700 MB große Gitlab-ce-Paket von der im zweiten Schritt konfigurierten Fremdsite herunterzuladen. Es dauert schätzungsweise mehr als 10 Stunden. Überraschend! Wenn Sie ein internationales VPN haben, ignorieren Sie einfach, was ich gesagt habe! ! ! Die Schneckengeschwindigkeit des dritten Schritts ist unerträglich. Drücken Sie Strg+C, um den Downloadvorgang zu unterbrechen und versuchen Sie eine andere Methode: Laden Sie das gitlab-ce rmp-Paket von anderen Orten herunter und laden Sie es dann zur Installation auf den Server hoch. Verwenden Sie für die Online-Installation eine inländische Spiegeladresse. Hier sprechen wir über die zweite Methode, nämlich die Verwendung der inländischen Spiegeladresse für die Online-Installation. Hier wählen wir den von der Tsinghua-Universität bereitgestellten Spiegelserver, da dieser relativ umfassende Anweisungen bietet (https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/). Nun folgen wir den Anweisungen, um die GitlabCE-Version zu installieren (die folgenden Schritte beginnen mit dem zweiten Schritt oben): Neuer Schritt 2: Verwenden Sie vi oder vim, um die Yum-Quellkonfigurationsdatei /etc/yum.repos.d/gitlab-ce.repo zu erstellen und zu bearbeiten # vim /etc/yum.repos.d/gitlab-ce.repo Geben Sie die folgenden Yum-Quellkonfigurationsinformationen ein: [gitlab-ce] Name=Gitlab CE-Repository Basis-URL = https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/ gpgcheck=0 aktiviert=1 Neuer Schritt 3: Installieren Sie GitlabCE mit dem Yum-Paketmanager # yum makecache # yum -y installiere gitlab-ce Ist Ihnen aufgefallen, dass im „neuen dritten Schritt“ im Vergleich zum ursprünglichen dritten Schritt etwas fehlt? Was ist es? Aufmerksame Studierende müssen festgestellt haben, dass die externe Zugriffsadresse (EXTERNAL_URL) des Gitlab-Servers nicht konfiguriert ist! Keine Sorge, warten Sie einfach, bis Gitlab installiert ist, und dann können wir es konfigurieren! Der Domestic Mirror ist relativ schnell. Das Herunterladen und Installieren dauert nur wenige Minuten und schon erscheint ein cooles Fuchskopf-Symbol! Okay, jetzt ist es an der Zeit, im „neuen dritten Schritt“ die fehlende externe Zugriffsadresse (EXTERNAL_URL) des Gitlab-Servers einzufügen. Wo soll diese konfiguriert werden? Wer sich mit den Verzeichnissen von Linux-Servern auskennt, dürfte ahnen, dass auch Gitlab, eine weltweit eingesetzte Versionskontrollsoftware, ihre Konfigurationsdateien gemäß den Linux-Konventionen im Verzeichnis /etc ablegen sollte! Gehen Sie mit cd in das Verzeichnis /etc und sehen Sie nach, oder verwenden Sie ls /etc/gitl und dann die Tabulatortaste, um es herauszufinden! # ls /etc/gitlab/ gitlab.rb Tatsächlich gibt es eine Gitlab-Konfigurationsdatei! Überprüfen Sie es mit dem Cat-Befehl. Sie werden feststellen, dass der Inhalt so umfangreich ist, dass er Ihre Augen blenden wird! Anschließend filtern wir mit dem grep-Befehl den Konfigurationsinhalt heraus, der die externe Zugriffsadresse (EXTERNAL_URL) enthält: # grep -i 'EXTERNE_URL' /etc/gitlab/gitlab.rb ##! Weitere Einzelheiten zur Konfiguration von external_url finden Sie unter: ##! EXTERNAL_URL wird verwendet, um diesen Wert aufzufüllen/ersetzen. externe_URL 'http://gitlab.example.com' # registry_external_url 'https://registry.example.com' # Seiten_externe_URL "http://pages.example.com/" # gitlab_pages['artifacts_server_url'] = nil # Standardmäßig external_url + '/api/v4' # gitlab_pages['auth_redirect_uri'] = nil # Standardmäßig auf die Projekt-Subdomäne von pages_external_url und + '/auth' eingestellt. # gitlab_pages['gitlab_server'] = nil # Standardmäßig external_url # mattermost_external_url 'http://mattermost.example.com' # Wenn die Registrierung automatisch mit derselben Domäne wie „external_url“ aktiviert wird, # Wenn beispielsweise external_url für zwei Sekundäradressen gleich ist, müssen Sie angeben # Wenn es leer ist, wird standardmäßig external_url verwendet. Großartig, das ist alles, was wir über die externe Zugriffsadresse (EXTERNAL_URL) bestätigen müssen. Bevor wir beginnen, sichern Sie die Datei /etc/gitlab/gitlab.rb mit dem Befehl cp, da wir später eine risikoreiche Operation wie den direkten String-Ersatz durchführen werden! Seien Sie vorbereitet! # cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak # ls /etc/gitlab/ gitlab.rb gitlab.rb.bak Nachdem ls schließlich die erfolgreiche Sicherung bestätigt hat, können Sie loslegen! Verwenden Sie nun den Befehl sed, um http://gitlab.example.com in der Datei /etc/gitlab/gitlab.rb durch http://gitlab.xgclassroom.com zu ersetzen. Das Format zum Ersetzen von Zeichenfolgen durch den sed-Befehl lautet: sed -i "s$zu durchsuchendes Feld$zu ersetzendes Feld&g" Dateiname, -i bedeutet Bearbeitung vor Ort, d. h. Bearbeiten und Ändern vor Ort; das erste s im Parameter bedeutet Suchen, was durch d für Löschen ersetzt werden kann, und das letzte g bedeutet global, d. h. Volltextsuche; # sed -i "s#http://gitlab.example.com#http://gitlab.xgclassroom.com#g" /etc/gitlab/gitlab.rb Anschließend filtern wir mit dem grep-Befehl den Inhalt, der sich auf die externe Zugriffsadresse (EXTERNAL_URL) bezieht: # grep -i 'EXTERNE_URL' gitlab.rb ##! Weitere Einzelheiten zur Konfiguration von external_url finden Sie unter: ##! EXTERNAL_URL wird verwendet, um diesen Wert aufzufüllen/ersetzen. externe_URL 'http://gitlab.xgclassroom.com' # registry_external_url 'https://registry.example.com' # Seiten_externe_URL "http://pages.example.com/" # gitlab_pages['artifacts_server_url'] = nil # Standardmäßig external_url + '/api/v4' # gitlab_pages['auth_redirect_uri'] = nil # Standardmäßig auf die Projekt-Subdomäne von pages_external_url und + '/auth' eingestellt. # gitlab_pages['gitlab_server'] = nil # Standardmäßig external_url # mattermost_external_url 'http://mattermost.example.com' # Wenn die Registrierung automatisch mit derselben Domäne wie „external_url“ aktiviert wird, # Wenn beispielsweise external_url für zwei Sekundäradressen gleich ist, müssen Sie angeben # Wenn es leer ist, wird standardmäßig external_url verwendet. Habe festgestellt, dass der Austausch erfolgreich war! Aber seien Sie nicht zu aufgeregt. Sie müssen auch das Tool gitlab-ctl verwenden, um die Gitlab-Dienstinstanz gemäß der geänderten Konfigurationsdatei neu zu konfigurieren, damit die Konfiguration wirksam wird: # gitlab-ctl neu konfigurieren ... Da das Gitlab-System riesig ist, wird dies ein zeitaufwändiger Prozess sein, also warten Sie! ... Nachdem die Gitlab-Dienstinstanz neu konfiguriert wurde, können Sie das Tool „gitlab-ctl“ verwenden, um den Dienststatus von Gitblab anzuzeigen: # gitlab-ctl-Status ausführen: Alertmanager: (PID 32119) 292 s; ausführen: Protokoll: (PID 31878) 325 s ausführen: gitaly: (pid 32004) 294 s; ausführen: log: (pid 31180) 401 s ausführen: gitlab-exporter: (pid 32013) 293 s; ausführen: log: (pid 31778) 342 s ausführen: gitlab-workhorse: (pid 31980) 294 s; ausführen: log: (pid 31506) 366 s ausführen: Grafana: (PID 32136) 291 s; ausführen: Protokoll: (PID 31951) 302 s ausführen: logrotate: (pid 31615) 357s; ausführen: log: (pid 31703) 354s ausführen: nginx: (pid 31548) 363 s; ausführen: log: (pid 31568) 360 s ausführen: node-exporter: (pid 31998) 294 s; ausführen: log: (pid 31729) 347 s ausführen: postgres-exporter: (pid 32129) 291 s; ausführen: log: (pid 31905) 321 s ausführen: postgresql: (pid 31219) 398 s; ausführen: log: (pid 31326) 397 s Ausführung: Prometheus: (PID 32103) 293 s; Ausführung: Protokoll: (PID 31843) 331 s Ausführung: Puma: (PID 31412) 377 s; Ausführung: Protokoll: (PID 31433) 376 s ausführen: Redis: (PID 30999) 410 s; ausführen: Protokoll: (PID 31038) 407 s ausführen: redis-exporter: (pid 32017) 293 s; ausführen: log: (pid 31807) 337 s ausführen: sidekiq: (pid 31436) 375 s; ausführen: log: (pid 31454) 371 s Mit dem folgenden Befehl können Sie auch die Auslastung des Betriebssystemspeichers prüfen und feststellen, ob der Speicher für Gitlab ausreicht: # frei -m insgesamt genutzter freier gemeinsamer Buff/Cache verfügbar Mitglied: 3757 2063 394 82 1299 1376 Tausch: 8191 12 8179 Wenn die Swap-Partition in den obigen Ergebnissen nicht viel genutzt wird, bedeutet dies im Grunde, dass der Speicher für den Gitlab-Dienst ausreicht. Wenn die Swap-Partition viel belegt, sollten Sie erwägen, der Maschine Speicher hinzuzufügen. Das Hinzufügen von Speicher zu einer virtuellen Maschine ist sehr einfach, daher werde ich nicht ins Detail gehen! Greifen Sie abschließend über die IP-Adresse oder den Domänennamen vom Host-Browser der virtuellen Maschine aus auf den Gitlab-Dienst zu (wenn Sie den Domänennamen verwenden, müssen Sie zunächst die Zuordnung von Domänenname und IP-Adresse im Verzeichnis C:\Windows\System32\drivers\etc\hosts des Hosts konfigurieren, damit es sich tatsächlich noch um die IP handelt): Wie im Screenshot oben gezeigt, können Sie sehen, dass ich normal auf meinen eigenen Gitlab-Server zugreifen kann. Bei der ersten Verwendung müssen wir das Kennwort des Superadministrator-Root-Kontos des Gitlab-Dienstes ändern. Nachdem Sie das Kennwort geändert haben, können Sie sich anmelden und Spaß haben! Ich bin der Meinung, dass IT-Leute mit der Verwendung von Gitlab vertraut sein sollten, deshalb werde ich jetzt nicht darüber sprechen! Zusätzlich zur Client-SSH-Schlüsselanwendung ist Folgendes zu beachten: Versuchen Sie nicht, den von ssh-keygen generierten Standardschlüsseldateinamen des Clients zu ändern, da der von Git-Client-Tools wie Git für Windows gelesene Schlüsseldateiname standardmäßig vereinbart wird (obwohl er auch durch Konfiguration geändert werden kann, was sehr mühsam ist)! Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung des Anwendungsbeispiels für den JQuery-Tag-Selektor
>>: Detaillierte Erläuterung verschiedener Möglichkeiten zum Zusammenführen von Javascript-Objekten
Dimensionsreduzierung eines zweidimensionalen Arr...
Inhaltsverzeichnis Vorwort Frage Online-Lösungen ...
Inhaltsverzeichnis Strategie zur Ausführung föder...
Da es in dem Produkt meiner Firma eine Schaltfläc...
Nginx ist ein leistungsstarker Website-Server und...
Schlägt die Remote-Verbindung zu MySQL fehl, kann...
Manchmal müssen Sie basierend auf der offiziell v...
In diesem Artikel wird der spezifische JavaScript...
MySQL-SQL-Anweisung zum Erstellen einer Tabelle A...
In diesem Artikelbeispiel wird der spezifische Im...
In diesem Artikel wird der spezifische Code von v...
Was ist eine Webseite? Die Seite, die nach dem HT...
In diesem Artikel wird der spezifische Code von J...
Diese Spezifikationen sollen die Veröffentlichung ...
In diesem Artikel wird der spezifische Code von V...